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 ] ]
}
]