一、什么是DBCC
DBCC 是SQL Server提供的一组控制台命令,可以用来检查数据库的逻辑一致性及物理一致性。
二、DBCC分类
1、维护语句
对数据库、索引或文件组进行维护的任务。
2、杂项语句
诸如启用行级锁定或从内存中删除动态链接库 (DLL) 等杂项任务。
3、状态语句
状态检查。
4、验证语句
对数据库、表、索引、目录、文件组、系统表或数据库页的分配进行的验证操作。
三、SQL Server中的DBCC
1、DBCC CHECKALLOC
检查指定数据库的磁盘空间分配结构的一致性。
2、DBCC CHECKCATALOG
检查指定数据库中的系统表内及系统表间的一致性。
3、DBCC CHECKCONSTRAINTS
检查指定表上的指定约束或所有约束的完整性。
4、DBCC CHECKDB
检查指定数据库中的所有对象的分配和结构完整性。
5、DBCC CHECKFILEGROUP
检查指定文件组中的所有表(在当前数据库中)的分配和结构完整性。
6、DBCC CHECKIDENT
检查指定表的当前标识值,如有必要,还对标识值进行更正。
7、DBCC CHECKTABLE
检查指定表或索引视图的数据、索引及 text、ntext 和 image 页的完整性。
8、DBCC CLEANTABLE
收回除去的可变长度列和文本列的空间。
9、DBCC DBREINDEX
重建指定数据库中表的一个或多个索引。
10、DBCC DROPCLEANBUFFERS
从缓冲池中删除所有清除缓冲区。
11、DBCC FREEPROCCACHE
从过程高速缓存中删除所有元素。
12、DBCC FREESESSIONCACHE
刷新分布式查询缓存。
13、DBCC FREESYSTEMCACHE
从所有缓存中释放所有未使用的缓存条目。
返回指定的 DBCC 语句的语法信息。
15、DBCC INDEXDEFRAG
整理指定的表或视图的聚集索引和辅助索引碎片。
16、DBCC INPUTBUFFER
显示从客户机发送到服务器的最后一个SQL语句。
17、DBCC OPENTRAN
如果在指定数据库内存在最旧的活动事务和最旧的分布和非分布式复制事务,则显示与之相关的信息。只有当存在活动事务或数据库包含复制信息时,才显示结果。如果没有活动事务,就显示信息性消息。
18、DBCC OUTPUTBUFFER
以十六进制或 ASCII 格式返回指定系统进程 ID (SPID) 的当前输出缓冲区。
19、DBCC PINTABLE
将表标记为驻留,服务器不从内存中刷新表页。
20、DBCC PROCCACHE
以报表形式显示有关过程高速缓存的信息。
21、DBCC SHOW_STATISTICS
显示指定表上的指定目标的当前分布统计信息。
22、DBCC SHOWCONTIG
显示指定的表的数据和索引的碎片信息。
23、DBCC SHRINKDATABASE
收缩指定数据库中的数据文件大小。
24、DBCC SHRINKFILE
收缩相关数据库的指定数据文件或日志文件大小。
25、DBCC SQLPERF
提供有关所有数据库中的事务日志空间使用情况的统计信息。
26、DBCC TRACEOFF
禁用指定的跟踪标记。
27、DBCC TRACEON
打开(启用)指定的跟踪标记。
28、DBCC TRACESTATUS
显示跟踪标记的状态。
29、DBCC TRACEON
打开(启用)指定的跟踪标记。
30、DBCC UNPINTABLE
将表标记为不在内存驻留。将表标记为不在内存驻留后,可以清空高速缓存中的表页。
31、DBCC UPDATEUSAGE
报告和更正sysindexs表的不正确内容,该内容可能会导致通过sp_spaceused系统存储过程产生不正确的空间使用报表。
32、DBCC USEROPTIONS
返回当前连接的活动(设置)的SET选项。
33、DBCC LOG
查看某个数据库的事物日志信息。