SQL Server中常使用的DBCC命令
DBCC(Database Consistenecy Checker)命令是一个实用命令集,用来检查一个数据库的逻辑一致性及物理一致性。
主要分为四类:
维护语句:
DBCC DBREINDEX:重建指定表中的一个或多个索引
DBCC DBREINDEX
( 'database.owner.table_name'
[ , index_name
[ , fillfactor ]
]
) [ WITH NO_INFOMSGS ]
DBCC INDEXDEFRAG:整理指定的表或试图的聚簇索引和辅助索引碎片
DBCC INDEXDEFRAG
( { database_name | database_id | 0 }
, { table_name | table_id | 'view_name' | view_id }
, { index_name | index_id }
) [ WITH NO_INFOMSGS ]
DBCC SHRINKDATABASE:收縮指定数据库的数据文件的大小
DBCC SHRINKDATABASE
( database_name [ , target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
DBCC SHRINKFILE:收縮指定数据库的数据文件或日志文件大大小
DBCC SHRINKFILE
( { file_name | file_id }
{ [ , target_size ]
| [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
}
)
DBCC UPDATEUSAGE:报告和更正sysindexes表的不正确內容
DBCC UPDATEUSAGE
( { 'database_name' | 0 }
[ , { 'table_name' | 'view_name' }
[ , { index_id | 'index_name' } ] ]
)
[ WITH [ COUNT_ROWS ] [ , NO_INFOMSGS ]
]
杂项语句:
DBCC TRACEON/OFF:开启关闭指定的跟踪标记
DBCC TRACEON/OFF ( trace# [ ,...n ] )
状态语句:
DBCC SHOWCONTIG:显示指定的表的数据和索引的碎片信息(使用 DBCC SHOWCONTIG 和 DBCC INDEXDEFRAG 对数据库中的索引进行碎
片整理)
DBCC SHOWCONTIG
[ ( { table_name | table_id | view_name | view_id }
[ , index_name | index_id ]
)
]
[ WITH { ALL_INDEXES
| FAST [ , ALL_INDEXES ]
| TABLERESULTS [ , { ALL_INDEXES } ]
[ , { FAST | ALL_LEVELS } ]
}
]
DBCC SHOW_STATISTICS:显示指定表上的指定目标的當前分布统计信息
DBCC SHOW_STATISTICS ( table , target )
验证语句:
DBCC CHECKALLOC:检查指定数据库的磁盘空间分配结构的一致性
DBCC CHECKALLOC
( 'database_name'
[ , NOINDEX
|
{ REPAIR_ALLOW_DATA_LOSS
| REPAIR_FAST
| REPAIR_REBUILD
} ]
) [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ]
[ , [ TABLOCK ] ]
[ , [ ESTIMATEONLY ] ]
}
]
DBCC CHECKCATALOG:检查指定数据库中的系统表內及系统表之间的一致性
DBCC CHECKCATALOG
( 'database_name'
) [ WITH NO_INFOMSGS ]
DBCC CHECKCONSTRAINTS:检查指定表上的指定约束或所有约束的完整性
DBCC CHECKCONSTRAINTS
[( 'table_name' | 'constraint_name'
)]
[ WITH { ALL_ERRORMSGS | ALL_CONSTRAINTS } ]
DBCC CHECKDB:检查指定数据库中的所有对象的分配和结构完整性
DBCC CHECKDB
( 'database_name'
[ , NOINDEX
| { REPAIR_ALLOW_DATA_LOSS
| REPAIR_FAST
| REPAIR_REBUILD
} ]
) [ WITH { [ ALL_ERRORMSGS ]
[ , [ NO_INFOMSGS ] ]
[ , [ TABLOCK ] ]
[ , [ ESTIMATEONLY ] ]
[ , [ PHYSICAL_ONLY ] ]
}
]
DBCC CHECKFILEGROUP:检查指定文件组的所有表(当前数据库中)的分配和结构完整性
DBCC CHECKFILEGROUP
( [ { 'filegroup' | filegroup_id } ]
[ , NOINDEX ]
) [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ]
[ , [ TABLOCK ] ]
[ , [ ESTIMATEONLY ] ]
}
]
DBCC CHECKTABLE:检查指定表或索引视图中的数据、索引及text,ntext和image页的完整性
DBCC CHECKTABLE
( 'table_name' | 'view_name'
[ , NOINDEX
| index_id
| { REPAIR_ALLOW_DATA_LOSS
| REPAIR_FAST
| REPAIR_REBUILD }
]
) [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ]
[ , [ TABLOCK ] ]
[ , [ ESTIMATEONLY ] ]
[ , [ PHYSICAL_ONLY ] ]
}
]