Sql Server DBCC命令.docx
《Sql Server DBCC命令.docx》由会员分享,可在线阅读,更多相关《Sql Server DBCC命令.docx(11页珍藏版)》请在冰豆网上搜索。
SqlServerDBCC命令
SQLServer数据库管理员必备的DBCC命令
1.了解DBCC
DBCC(databaseconsistenecychecker,简称dbcc)是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。
数据库控制台命令语句可分为以下类别:
维护:
对数据库、索引或文件组进行维护的任务。
杂项:
杂项任务,如启用跟踪标志或从内存中删除DLL。
信息:
收集并显示各种类型信息的任务。
验证:
对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作
2.DBBCC维护语句:
对数据库、索引或文件组进行维护的任务
2.1.DBCCCLEANTABLE回收删除的可变长度列和文本列的空间。
DBCCCLEANTABLE
(
{'database_name'|database_id|0}
{'table_name'|table_id|'view_name'|view_id}
[,batch_size]
)
[WITHNO_INFOMSGS]
2.2.DBCCINDEXDEFRAG。
指定表或视图的索引碎片整理。
DBCCINDEXDEFRAG
(
{'database_name'|database_id|0}
{'table_name'|table_id|'view_name'|view_id}
{'index_name'|index_id}
{partition_number|0}
)
[WITHNO_INFOMSGS]
2.3.DBCCDBREINDEX。
对指定数据库中的表重新生成一个或多个索引。
DBCCDBREINDEX
(
'table_name'
[,'index_name'[,fillfactor]]
)
[WITHNO_INFOMSGS]
DBCCSHRINKDATABASE。
收缩指定数据库中的数据文件大小。
DBCCSHRINKDATABASE
('database_name'|database_id|0
[,target_percent]
[,{NOTRUNCATE|TRUNCATEONLY}]
)
[WITHNO_INFOMSGS]
2.4.DBCCDROPCLEANBUFFERS。
从缓冲池中删除所有清除缓冲区
DBCCDROPCLEANBUFFERS[WITHNO_INFOMSGS]
2.5.DBCCSHRINKFILE收缩相关数据库的指定数据文件或日志文件大小。
DBCCSHRINKFILE
(
{'file_name'|file_id}
{[,EMPTYFILE]
|[[,target_size][,{NOTRUNCATE|TRUNCATEONLY}]]
}
)
[WITHNO_INFOMSGS]
2.6.DBCCFREEPROCCACHE。
从过程缓存中删除所有元素。
DBCCFREEPROCCACHE[WITHNO_INFOMSGS]
2.7.DBCCUPDATEUSAGE报告目录视图中的页数和行数错误并进行更正。
DBCCUPDATEUSAGE
({'database_name'|database_id|0}
[,{'table_name'|table_id|'view_name'|view_id}
[,{'index_name'|index_id}]]
)[WITH[NO_INFOMSGS][,][COUNT_ROWS]
]
3.DBBCC验证语句:
对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作
3.1.DBCCCHECKALLOC。
检查指定数据库的磁盘空间分配结构的一致性。
DBCCCHECKALLOC
[
(
['database_name'|database_id|0]
[,NOINDEX
|
{REPAIR_ALLOW_DATA_LOSS
|REPAIR_FAST
|REPAIR_REBUILD
}]
)
]
[WITH{[ALL_ERRORMSGS]
[,NO_INFOMSGS]
[,TABLOCK]
[,ESTIMATEONLY]
}
]
3.2.DBCCCHECKFILEGROUP检查当前数据库中指定文件组中的所有表的分配和结构完整性。
DBCCCHECKFILEGROUP
[
(
[{'filegroup_name'|filegroup_id|0}]
[,NOINDEX]
)
]
[WITH
{
[ALL_ERRORMSGS]
[NO_INFOMSGS]]
[,[TABLOCK]]
[,[ESTIMATEONLY]]
}
]
3.3.DBCCCHECKCATALOG。
检查指定数据库内的目录一致性。
数据库必须联机。
DBCCCHECKCATALOG
[
(
'database_name'|database_id|0
)
]
[WITHNO_INFOMSGS]
3.4.DBCCCHECKIDENT。
检查指定表的当前标识值,如有必要,则更改标识值。
DBCCCHECKIDENT
(
'table_name'
[,{
NORESEED|{RESEED[,new_reseed_value]}
}
]
)
[WITHNO_INFOMSGS]
3.5.DBCCCHECKCONSTRAINTS。
检查当前数据库中指定表上的指定约束或所有约束的完整性。
DBCCCHECKCONSTRAINTS
[
(
'table_name'|table_id|'constraint_name'|constraint_id
)
]
[WITH
{ALL_CONSTRAINTS|ALL_ERRORMSGS}[,NO_INFOMSGS]
]
3.6.DBCCCHECKTABLE。
检查组成表或索引视图的所有页和结构的完整性。
DBCCCHECKTABLE
(
'table_name'|'view_name'
[,NOINDEX
|index_id
|{REPAIR_ALLOW_DATA_LOSS
|REPAIR_FAST
|REPAIR_REBUILD}
]
)
[WITH
{[ALL_ERRORMSGS]
[,[NO_INFOMSGS]]
[,[TABLOCK]]
[,[ESTIMATEONLY]]
[,[PHYSICAL_ONLY]]
}
]
3.7.DBCCCHECKDB。
检查指定数据库中所有对象的分配、结构和逻辑完整性。
DBCCCHECKDB
[
(
'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]]
}
]
4.DBBCC的信息语句
4.1.DBCCSHOW_STATISTICS。
显示指定表上的指定目标的当前分发统计信息。
4.2.DBCCINPUTBUFFER.显示从客户端发送到MicrosoftSQLServer2005实例的最后一个语句。
DBCCINPUTBUFFER(session_id[,request_id])[WITHNO_INFOMSGS]
4.3.DBCCSHOWCONTIG.显示指定的表的数据和索引的碎片信息。
DBCCSHOWCONTIG
[(
{'table_name'|table_id|'view_name'|view_id}
[,'index_name'|index_id]
)]
[WITH
{
[,[ALL_INDEXES]]
[,[TABLERESULTS]]
[,[FAST]]
[,[ALL_LEVELS]]
[NO_INFOMSGS]
}
]
4.4.
DBCCOPENTDBCCINPUTBUFFERRAN如果在指定数据库内存在最早的活动事务和最早的分布式和非分布式复制事务,则显示与之有关的信息
DBCCOPENTRAN
[
(['database_name'|database_id|0])]
{[WITHTABLERESULTS]
[,[NO_INFOMSGS]]
}
]
4.5.DBCCSQLPERF.提供有关如何在所有数据库中使用事务日志空间的统计信息。
DBCCSQLPERF(LOGSPACE|'sys.dm_os_latch_stats',CLEAR|'sys.dm_os_wait_stats',CLEAR)
[WITHNO_INFOMSGS]
DBCCOUTPUTBUFFER.以十六进制和ASCII格式返回指定session_id的当前输出缓冲区。
DBCCOUTPUTBUFFER(session_id[,request_id])
DBCCTRACESTATUS.显示跟踪标志的状态.DBCCTRACESTATUS([[trace#[,...n]][,][-1]])
DBCCPROCCACHE.以表格格式显示有关过程缓存的信息。
DBCCPROCCACHE[WITHNO_INFOMSGS]
DBCCUSEROPTIONS返回当前连接的活动(设置)的SET选项。
DBCCUSEROPTIONS
5.DBBCC的杂项语句:
杂项任务,如启用跟踪标志或从内存中删除DLL
DBCCHELP。
返回指定的DBCC命令的语法信息。
DBCCHELP('dbcc_statement'|@dbcc_statement_var|'?
')[WITHNO_INFOMSGS]
DBCCdllname(FREE)。
从内存中上载指定的扩展存储过程DLL。
DBCCdllname(FREE)[WITHNO_INFOMSGS]
DBCCDBREPAIR。
禁用指定的跟踪标记。
DBCCTRACEOFF(trace#[,...n][,-1])[WITHNO_INFOMSGS]
DBCCTRACEON。
启用指定的跟踪标记。
DBCCTRACEON(trace#[,...n][,-1])[WITHNO_INFOMSGS]
6.未公开的DBCC
DBCCERRLOG
初始化SQL错误日志
DBCCBUFFER
显示缓冲区头部和页面信息
DBCCFLUSHPROCINDB
清楚数据库服务器内存中的某个数据库存储过程的缓存内容。
DBCCDBINFO
显示数据库结果信息
DBCCDATABLE
显示管理数据库的表信息
DBCIND
查看某个索引使用的页面信息。
DBCCREBULDLOG
重建修复SQL数据库事物日志文件。
DBCCLOG
查看某个数据库的事务日志信息
DBCCPAGE
查看某个数据库数据也面信息
DBCCPROCBUF
显示过程缓冲池的缓冲区头和存储过程。
DBCCPRTIPAGE
查看某个索引页面的每行指向的页面号。
DBCCPSS
显示当前连接到SQLSERVER服务器的进程信息。
DBCCRESOURCE
显示服务器当前使用的资源情况。
DBCCTAB
查看数据页面的结构。