一.DBCC維護語句:對資料庫、索引或檔案組進行維護的任務
--1.DBCC CLEANTABLE,回收删除的可變長度列和文本列的空間
DBCC CLEANTABLE
( { 'database_name' | database_id | 0 } ,{ 'table_name' | table_id | 'view_name' | view_id } [ , batch_size ] )
[ WITH NO_INFOMSGS ]
DBCC CLEANTABLE ('mydb','t_test') WITH NO_INFOMSGS
--2.DBCC INDEXDEFRAG,指定表或視圖的索引碎片整理。
DBCC INDEXDEFRAG
( { 'database_name' | database_id | 0 } , { 'table_name' | table_id | 'view_name' | view_id }
, { 'index_name' | index_id } , { partition_number | 0 } )
DBCC INDEXDEFRAG ('mydb','t_test') WITH NO_INFOMSGS
--3.DBCC DBREINDEX,對指定資料庫中的表重新生成一個或多個索引
DBCC DBREINDEX
( 'table_name' [ , 'index_name' [ , fillfactor ] ] )
DBCC DBREINDEX ('t_test') WITH NO_INFOMSGS
--4.DBCC SHRINKDATABASE。收縮指定資料庫中的資料檔案大小。
DBCC SHRINKDATABASE
( 'database_name' | database_id | 0 [ ,target_percent ] [ , { NOTRUNCATE | TRUNCATEONLY } ] )
DBCC SHRINKDATABASE(mydb)
--5.DBCC DROPCLEANBUFFERS,從緩沖池中删除所有清除緩沖區。
DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]
DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS
--6.DBCC SHRINKFILE,收縮相關資料庫的指定資料檔案或日志檔案大小。
DBCC SHRINKFILE
( { 'file_name' | file_id } { [ , EMPTYFILE ] | [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ] } )
DBCC SHRINKFILE('mydb_log')
--7.DBCC FREEPROCCACHE。從過程緩存中删除所有元素。
DBCC FREEPROCCACHE [ WITH NO_INFOMSGS ]
DBCC FREEPROCCACHE WITH NO_INFOMSGS
--8.DBCC UPDATEUSAGE 報告目錄視圖中的頁數和行數錯誤并進行更正。
DBCC UPDATEUSAGE
( { 'database_name' | database_id | 0 } [ , { 'table_name' | table_id | 'view_name' | view_id } [ , { 'index_name' | index_id } ] ] ) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
DBCC UPDATEUSAGE ('mydb','t_test')
二.DBBCC驗證語句:對資料庫、表、索引、目錄、檔案組或資料庫頁的配置設定進行的驗證操作
--1.DBCC CHECKALLOC,檢查指定資料庫的磁盤空間配置設定結構的一緻性
DBCC CHECKALLOC
[ ( [ 'database_name' | database_id | 0 ] [ , NOINDEX | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ] ) ] [ WITH { [ ALL_ERRORMSGS ] [ , NO_INFOMSGS ] [ , BLOCK ] [ , ESTIMATEONLY ] } ]
DBCC CHECKALLOC ('mydb')
--2.DBCC CHECKFILEGROUP,檢查目前資料庫中指定檔案組中的所有表的配置設定和結構完整性。
DBCC CHECKFILEGROUP
[ ( [ { 'filegroup_name' | filegroup_id | 0 } ] [ , NOINDEX ] ) ] [ WITH { [ ALL_ERRORMSGS ] [ NO_INFOMSGS ] ] [ , [ TABLOCK ] ] [ , [ ESTIMATEONLY ] ] } ]
DBCC CHECKFILEGROUP('primary')
--3.DBCC CHECKCATALOG,檢查指定資料庫内的目錄一緻性。資料庫必須聯機。
DBCC CHECKCATALOG
[ ( 'database_name' | database_id | 0 ) ] [ WITH NO_INFOMSGS ]
DBCC CHECKCATALOG ('mydb')
--4.DBCC CHECKIDENT,檢查指定表的目前辨別值,如有必要,則更改辨別值。
DBCC CHECKIDENT
( 'table_name' [ , { NORESEED | { RESEED [ , new_reseed_value ] } } ] ) [ WITH NO_INFOMSGS ]
DBCC CHECKIDENT ('t_test')
--5.DBCC CHECKCONSTRAINTS,檢查目前資料庫中指定表上的指定限制或所有限制的完整性。
DBCC CHECKCONSTRAINTS
[ ( 'table_name' | table_id | 'constraint_name' | constraint_id ) ]
[ WITH { ALL_CONSTRAINTS | ALL_ERRORMSGS } [ , NO_INFOMSGS ] ]
DBCC CHECKCONSTRAINTS ('t_test')
--6.DBCC CHECKTABLE,檢查組成表或索引視圖的所有頁和結構的完整性。
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 ] ] } ]
DBCC CHECKTABLE ('t_test') WITH ALL_ERRORMSGS
--7.DBCC CHECKDB,檢查指定資料庫中所有對象的配置設定、結構和邏輯完整性。
DBCC CHECKDB
[ ( 'database_name' | database_id | 0 [ , NOINDEX | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ] ) ]
[ WITH { [ ALL_ERRORMSGS ] [ , [ NO_INFOMSGS ] ] [ , [ TABLOCK ] ] [ , [ ESTIMATEONLY ] ] [ , [ PHYSICAL_ONLY ] ] | [ , [ DATA_PURITY ] ] } ]
DBCC CHECKDB ('mydb')
三.DBCC的資訊語句
--1.DBCC SHOWCONTIG.顯示指定的表的資料和索引的碎片資訊。
DBCC SHOWCONTIG
[ ( { 'table_name' | table_id | 'view_name' | view_id } [ , 'index_name' | index_id ] )]
[ WITH { [ , [ ALL_INDEXES ] ] [ , [ TABLERESULTS ] ] [ , [ FAST ] ] [ , [ ALL_LEVELS ] ] [ NO_INFOMSGS ] } ]
DBCC SHOWCONTIG ('t_test')
--2.DBCC OPENTDBCC INPUTBUFFERRAN 如果在指定資料庫記憶體在最早的活動事務和最早的分布式和非分布式複制事務,則顯示與之有關的資訊
DBCC OPENTRAN
[ ( [ 'database_name' | database_id | 0 ] ) ] { [ WITH TABLERESULTS ] [ , [ NO_INFOMSGS ] ] } ]
DBCC OPENTRAN ('mydb')
--3.DBCC PROCCACHE.以表格格式顯示有關過程緩存的資訊。
DBCC PROCCACHE [ WITH NO_INFOMSGS ]
DBCC PROCCACHE