DBCC 常用命令

整理一些常用的DBCC 命令,以便自己平时使用时查阅。

DBCC HELP --返回指定的 DBCC 命令的语法信息。 当不知道哪个DBCC命令语法情况,这个命令很好用
DBCC   HELP ('checkdb') 

DBCC SHOWFILESTATS  --显示文件使用情况的,需要通过换算所得
DBCC SHOWCONTIG   --返回整个数据库的空间使用情况
DBCC SHOWCONTIG   ('HumanResources.Employee' ) WITH TABLERESULTS --以表格的形式返回结果
DBCC SHOWCONTIG   ('HumanResources.Employee' ) WITH ALL_INDEXES --默认只扫描基表,不扫描索引
DBCC SHOWCONTIG   ('HumanResources.Employee' ) WITH FAST  --只统计表本身数据,不包括其他非聚集索引
DBCC SHOWCONTIG   ('HumanResources.Employee' ) WITH NO_INFOMSGS 

DBCC SQLPERF( LOGSPACE)  --为所有数据库提供事务日志空间用法的统计信息。也可以用于重置等待和闩锁的统计信息。
DBCC SQLPERF ("sys.dm_os_latch_stats" , CLEAR)
DBCC SQLPERF ("sys.dm_os_wait_stats" , CLEAR) WITH NO_INFOMSGS

DBCC CLEANTABLE('AdventureWorks2008R2','HumanResources.Employee') --回收表或索引视图中已删除的可变长度列的空间。 
DBCC INDEXDEFRAG('AdventureWorks2008R2','HumanResources.Employee') --指定表或视图的索引碎片整理。
DBCC DBREINDEX ('AdventureWorks2008R2','HumanResources.Employee') --对指定数据库中的表重新生成一个或多个索引。 

DBCC SHRINKDATABASE ('AdventureWorks2008R2')   --收缩指定数据库中的数据文件和日志文件的大小。 
DBCC SHRINKFILE --收缩当前数据库的指定数据或日志文件的大小

DBCC CHECKALLOC --检查指定数据库的磁盘空间分配结构的一致性。
DBCC CHECKFILEGROUP  --检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性。
DBCC CHECKCATALOG  --检查指定数据库内的目录一致性。
DBCC CHECKCONSTRAINTS --检查当前数据库中指定表上的指定约束或所有约束的完整性。
DBCC CHECKTABLE --检查组成表或索引视图的所有页和结构的完整性。
DBCC CHECKDB   --通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性: 
/*
对数据库运行 DBCC CHECKALLOC。
对数据库中的每个表和视图运行 DBCC CHECKTABLE。
对数据库运行 DBCC CHECKCATALOG。
验证数据库中每个索引视图的内容。
验证数据库中的 Service Broker 数据。

维护语句 
*/
DBCC UPDATEUSAGE   --报告目录视图中的页数和行数错误并进行更正。这些错误可能导致 sp_spaceused 系统存储过程返回不正确的空间使用报告。

DBCC OPENTRAN (AdventureWorks2008R2) WITH TABLERESULTS 
DBCC USEROPTIONS --返回当前连接的活动(设置)的 SET 选项。
DBCC SHOW_STATISTICS --显示指定表上的指定目标的当前分发统计信息。 

DBCC INPUTBUFFER (57)--显示从客户端发送到 Microsoft SQL Server实例的最后一个语句。
DBCC OUTPUTBUFFER(57)--以十六进制和 ASCII 格式返回指定 session_id 的当前输出缓冲区。
DBCC TRACEON --启用指定的跟踪标记。
DBCC TRACEOFF  --禁用指定的跟踪标记。
DBCC TRACESTATUS(1244) --显示跟踪标志的状态
DBCC FREEPROCCACHE   --从过程缓存中删除所有元素
DBCC FREESYSTEMCACHE --从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。 
DBCC PROCCACHE   --以表格格式显示有关过程缓存的信息。
DBCC FREESESSIONCACHE --刷新针对 Microsoft SQL Server 实例执行的分布式查询所使用的分布式查询连接缓存。

DBCC CHECKIDENT('HumanResources.Employee' )  --检查指定表的当前标识值,如有必要,则更改标识值。
 

 

posted @ 2014-12-06 10:07  shihuai355  阅读(420)  评论(0编辑  收藏  举报