DBCC维护语句语法
一.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 } )
[ WITH NO_INFOMSGS ]
DBCC INDEXDEFRAG ('mydb','t_test') WITH NO_INFOMSGS
--3.DBCC DBREINDEX,对指定数据库中的表重新生成一个或多个索引
DBCC DBREINDEX
( 'table_name' [ , 'index_name' [ , fillfactor ] ] )
[ WITH NO_INFOMSGS ]
DBCC DBREINDEX ('t_test') WITH NO_INFOMSGS
--4.DBCC SHRINKDATABASE。收缩指定数据库中的数据文件大小。
DBCC SHRINKDATABASE
( 'database_name' | database_id | 0 [ ,target_percent ] [ , { NOTRUNCATE | TRUNCATEONLY } ] )
[ WITH NO_INFOMSGS ]
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 } ] ] } )
[ WITH NO_INFOMSGS ]
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
--4.DBCC USEROPTIONS 返回当前连接的活动(设置)的SET 选项。
DBCC USEROPTIONS
--5.DBCC DBINFO 显示数据库结果信息
DBCC DBINFO ('mydb')
--6.DBCC LOG查看某个数据库的事务日志信息
DBCC LOG('mydb')