常用DBCC命令详解
Transact-SQL 编程语言提供 DBCC 语句作为 SQL Server 的数据库控制台命令。
DBCC 命令使用输入参数并返回值。所有 DBCC 命令参数都可以接受 Unicode 和 DBCS 文字。
维护命令
1、DBCC INPUTBUFFER
功能:显示从客户端发送到 Microsoft SQL Server实例的最后一个语句。
格式:DBCC INPUTBUFFER ( session_id [ , request_id ] )[WITH NO_INFOMSGS ]
执行权限:用户必须是 sysadmin 固定服务器角色的成员。
用户必须具有 VIEW SERVER STATE 权限。
相关命令:SELECT @@spid
SELECT request_id FROM sys.dm_exec_requests WHERE session_id = @@spid
2、DBCC OUTPUTBUFFER
功能:以十六进制和 ASCII 格式返回指定 session_id 的当前输出缓冲区。
格式:DBCC OUTPUTBUFFER ( session_id [ , request_id ] )[ WITH NO_INFOMSGS ]
执行权限:用户必须是 sysadmin 固定服务器角色的成员。
相关命令:SELECT @@spid
SELECT request_id FROM sys.dm_exec_requests WHERE session_id = @@spid
3、DBCC SHOWCONTIG
功能:显示指定的表或视图的数据和索引的碎片信息。
格式:DBCC SHOWCONTIG [ (对象名) ]
[ WITH { [ , [ ALL_INDEXES ] ] [ , [ TABLERESULTS ] ] [ , [ FAST ] ] [ , [ ALL_LEVELS ] ] [ NO_INFOMSGS ] } ]
执行权限:用户必须是对象所有者,或是 sysadmin 固定服务器角色、db_owner 固定数据库角色或 db_ddladmin 固定数据库角色的成员。
例:DBCC SHOWCONTIG ('TableName')
说明:可使用DBCC SHOWCONTIG 和 DBCC INDEXDEFRAG 对数据库中的索引进行碎片整理
4、DBCC OPENTRAN
功能:如果在指定数据库内存在最早的活动事务和最早的分布式和非分布式复制事务,则显示与之有关的信息。
格式:DBCC OPENTRAN [ ( [ database_name | database_id | 0 ] ) ]
{ [ WITH TABLERESULTS ] [ , [ NO_INFOMSGS ] ] }]
例:DBCC OPENTRAN (DataBaseName) WITH TABLERESULTS
5、DBCC SQLPERF
功能:为所有数据库提供事务日志空间用法的统计信息。也可以用于重置等待和闩锁的统计信息。
格式:DBCC SQLPERF ([ LOGSPACE ]|
[ "sys.dm_os_latch_stats" , CLEAR ] |
[ "sys.dm_os_wait_stats" , CLEAR ])
[WITH NO_INFOMSGS ]
例:DBCC SQLPERF (LOGSPACE)
6、DBCC TRACESTATUS
功能:显示跟踪标志的状态
格式:DBCC TRACESTATUS ( [ [ trace# [ ,...n ] ] [ , ] [ -1 ] ] ) [ WITH NO_INFOMSGS ]
7、DBCC PROCCACHE
功能:以表格格式显示有关过程缓存的信息。
格式:DBCC PROCCACHE [ WITH NO_INFOMSGS ]
执行权限:用户必须是 sysadmin 固定服务器角色、db_owner 固定数据库角色的成员。
8、DBCC USEROPTIONS
功能:返回当前连接的活动(设置)的 SET 选项。
格式:DBCC USEROPTIONS [ WITH NO_INFOMSGS ]
执行权限:要求具有 public 角色成员身份。
例:DBCC USEROPTIONS
9、DBCC SHOW_STATISTICS
功能:显示指定表上的指定目标的当前分发统计信息。
10、DBCC SHOWFILESTATS
功能:显示文件使用情况的,需要通过换算所得
如显示的是extent,一个extent为64k。totalexents*64/1024/1024 换算成gb
验证语句
11、DBCC CHECKALLOC
功能:检查指定数据库的磁盘空间分配结构的一致性。
例:DBCC CHECKALLOC ('DataBaseName')
执行权限:要求具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。
12、DBCC CHECKFILEGROUP
功能:检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性。
格式:比如:DBCC CHECKFILEGROUP ('DataBaseName')
13、DBCC CHECKCATALOG
功能:检查指定数据库内的目录一致性。
比如:DBCC CHECKCATALOG ('datapeng')
14、DBCC CHECKIDENT
功能:检查指定表的当前标识值,如有必要,则更改标识值。
比如:DBCC CHECKIDENT ('datapeng01')
15、DBCC CHECKCONSTRAINTS
功能:检查当前数据库中指定表上的指定约束或所有约束的完整性。
16、DBCC CHECKTABLE
功能:检查组成表或索引视图的所有页和结构的完整性。
17、DBCC CHECKDB
功能:通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性:
对数据库运行 DBCC CHECKALLOC。
对数据库中的每个表和视图运行 DBCC CHECKTABLE。
对数据库运行 DBCC CHECKCATALOG。
验证数据库中每个索引视图的内容。
验证数据库中的 Service Broker 数据。
维护语句
18、DBCC CLEANTABLE
功能:回收表或索引视图中已删除的可变长度列的空间。
比如:DBCC cleantable ('datapeng','datapeng01')
19、DBCC INDEXDEFRAG
功能:指定表或视图的索引碎片整理。
比如:DBCC INDEXDEFRAG ('datapeng','datapeng01')
Pages Scanned Pages Moved Pages Removed------------- ----------- -------------359 346 8(1 row(s) affected)
20、DBCC DBREINDEX
功能:对指定数据库中的表重新生成一个或多个索引。
比如:DBCC DBREINDEX ( 'datapeng','datapeng01')
21、DBCC SHRINKDATABASE
功能:收缩指定数据库中的数据文件和日志文件的大小。
比如:DBCC SHRINKDATABASE ('datapeng')
21、DBCC SHRINKFILE
功能:收缩当前数据库的指定数据或日志文件的大小
比如:DBCC SHRINKFILE ('datapeng')
22、DBCC FREEPROCCACHE
功能:从过程缓存中删除所有元素。
23、DBCC UPDATEUSAGE
功能:报告目录视图中的页数和行数错误并进行更正。这些错误可能导致 sp_spaceused 系统存储过程返回不正确的空间使用报告。
杂项语句
24、DBCC dllname (FREE)
功能:从内存中上载指定的扩展存储过程 DLL。
25、DBCC HELP
功能:返回指定的 DBCC 命令的语法信息。
比如:DBCC HELP ('checkdb')
26、DBCC FREESESSIONCACHE
功能:刷新针对 Microsoft SQL Server 实例执行的分布式查询所使用的分布式查询连接缓存。
27、DBCC TRACEON
功能:启用指定的跟踪标记。
格式:DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]
28、DBCC TRACEOFF
功能:禁用指定的跟踪标记。
DBCC FREESYSTEMCACHE:从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。
比如;DBCC FREESYSTEMCACHE('all')
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29371470/viewspace-1082379/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29371470/viewspace-1082379/