DBCC命令
今天把DBCC命令都一一使用了一下,做了笔记,防止忘记. 在调用命令时使用了一些参数,其中'taobaoitem_0003'是表名,'ix_taobaoitem_0003'是索引,'taobao'是数据库名称,'taobao3'是数据库文件.
Transact-SQL 编程语言提供 DBCC 语句作为 SQL Server 的数据库控制台命令。
数据库控制台命令语句可分为以下类别。
命令类别 | 执行 |
维护 | 对数据库、索引或文件组进行维护的任务。 |
杂项 | 杂项任务,如启用跟踪标志或从内存中删除 DLL。 |
信息 | 收集并显示各种类型信息的任务。 |
验证 | 对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作。 |
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 TRACEON :启用指定的跟踪标记。
格式:DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]
DBCC TRACEOFF :禁用指定的跟踪标记。
DBCC FREESYSTEMCACHE:从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。
比如;DBCC FREESYSTEMCACHE('all')