SQL Server DBCC命令

来源:互联网 发布:python黑帽子视频教程 编辑:程序博客网 时间:2024/05/17 01:56

DBCC命令通常比较耗资源,但有时很有用

 

DBCC 命令使用输入参数并返回值。所有 DBCC 命令参数都可以接受 Unicode DBCS 文字。

信息语句

DBCC INPUTBUFFER显示从客户端发送到 Microsoft SQL Server 2005 实例的最后一个语句。

格式:DBCC INPUTBUFFER ( session_id [ , request_id ] )[WITH NO_INFOMSGS ]

DBCC OUTPUTBUFFER以十六进制和 ASCII 格式返回指定session_id 的当前输出缓冲区。

格式:DBCC OUTPUTBUFFER ( session_id [ , request_id ] )[ WITH NO_INFOMSGS ]

DBCC SHOWCONTIG 显示指定的表或视图的数据和索引的碎片信息。

比如:dbcc showcontig('taobaoitem_0003')

DBCC OPENTRAN如果在指定数据库内存在最早的活动事务和最早的分布式和非分布式复制事务,则显示与之有关的信息。

DBCC SQLPERF为所有数据库提供事务日志空间用法的统计信息。也可以用于重置等待和闩锁的统计信息。

格式:DBCC SQLPERF ([ LOGSPACE ]| [ "sys.dm_os_latch_stats" , CLEAR ] | [ "sys.dm_os_wait_stats" , CLEAR ]) [WITH NO_INFOMSGS ]

比如:dbcc SQLPERF(LOGSPACE )

dbcc SQLPERF("sys.dm_os_wait_stats" , CLEAR )

DBCC TRACESTATUS显示跟踪标志的状态

DBCC PROCCACHE以表格格式显示有关过程缓存的信息。

DBCC USEROPTIONS返回当前连接的活动(设置)的 SET 选项。

DBCC SHOW_STATISTICS显示指定表上的指定目标的当前分发统计信息。

比如:dbcc show_STATISTICS('taobaoitem_0003','ix_taobaoitem_0003')

 验证语句

DBCC CHECKALLOC检查指定数据库的磁盘空间分配结构的一致性。

比如;DBCC CHECKALLOC('taobao')

DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性。

比如:DBCC CHECKFILEGROUP('taobao3')

DBCC CHECKCATALOG检查指定数据库内的目录一致性。

比如:DBCC CHECKCATALOG('taobao')

DBCC CHECKIDENT检查指定表的当前标识值,如有必要,则更改标识值。

比如:DBCC CHECKIDENT('taobaoitem_0003')

DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性。

DBCC CHECKTABLE检查组成表或索引视图的所有页和结构的完整性。

DBCC CHECKDB通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性:

  • 对数据库运行 DBCC CHECKALLOC
  • 对数据库中的每个表和视图运行 DBCC CHECKTABLE
  • 对数据库运行 DBCC CHECKCATALOG
  • 验证数据库中每个索引视图的内容。
  • 验证数据库中的 Service Broker 数据。

 维护语句

DBCC CLEANTABLE回收表或索引视图中已删除的可变长度列的空间。

比如:DBCC cleantable('taobao','taobaoitem_0003')

DBCC INDEXDEFRAG指定表或视图的索引碎片整理。

比如:DBCC INDEXDEFRAG('taobao','taobaoitem_0003')

Pages Scanned Pages Moved Pages Removed
------------- ----------- -------------
359           346         8
(1 row(s) affected)

DBCC DBREINDEX对指定数据库中的表重新生成一个或多个索引。

比如:DBCC DBREINDEX( 'taobaoitem_0003','ix_taobaoitem_0003')

DBCC SHRINKDATABASE收缩指定数据库中的数据文件和日志文件的大小。

比如:DBCC SHRINKDATABASE('taobao')

DBCC SHRINKFILE (Transact-SQL)收缩当前数据库的指定数据或日志文件的大小

比如:DBCC SHRINKFILE('TaoBao3')

DBCC FREEPROCCACHE从过程缓存中删除所有元素。

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

 杂项语句

DBCC dllname (FREE)从内存中上载指定的扩展存储过程 DLL。

DBCC HELP返回指定的 DBCC 命令的语法信息。

比如:DBCC   HELP('checkdb')

DBCC FREESESSIONCACHE刷新针对 Microsoft SQL Server 实例执行的分布式查询所使用的分布式查询连接缓存。

DBCC DROPCLEANBUFFERS :从缓冲池中删除所有清除缓冲区。 

DBCC TRACEON启用指定的跟踪标记。

格式:DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]

DBCC TRACEOFF禁用指定的跟踪标记。

DBCC FREESYSTEMCACHE从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。

比如;DBCC FREESYSTEMCACHE('all')