SQL SERVER DBCC命令解释
八点钟起床一直搞到现在好多还不太记得先放上来以后慢慢修改
dbcc trraceon DBCC TRACEOFF
对于数据库死锁通常可以通过TRACE FLAG 检查ERRORLOG里面的输出和分析SQLTRACE的执行上下文判断死锁问题的来由
TRACEON函数的第三个参数设置为表示不单单针对当前connection
而是针对所有包括未来建立的connection这样才够完全否则只是监视当前已经建立的数据库连接了
执行下面的话可以把死锁记录到Errorlog中
dbcc traceon ( )
go
dbcc tracestatus()
go
说明
打印关于扩展存储过程动态链接库的版本信息
停止autoparameterization
输出锁信息
传回参与死锁的SQL SERVER相关程序之运行数据
停止lock escalation(锁升级)
显示动态选择锁的相关信息
通过 DBCC CHECKDBDBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 禁用对象的并行检查
默认情况下并行度由查询处理器自动确定最大并行度的配置方式与并行查询相同
有关更多信息请参见 max degree of parallelism 选项
通常情况下应将并行 DBCC 保留为启用状态执行 DBCC CHECKDB 时
查询处理器重新评估和自动调整并行度并检查每个表或一批表
有时检查可能在服务器处于实际空闲状态时进行如果管理员知道在检查结束前负荷将加大
可能希望手工减小或禁用并行度
但是禁用并行检查会导致数据库的总体性能降低降低并行度将增加必须扫描的事务日志量
这反过来增加了对 tempdb 空间的需求并导致 dbcc 完成检查所需的时间非线性增加
如果运行 DBCC 时启用了 TABLOCK 功能并关闭了并行度则表可能被锁定更长时间
默认情况下如果磁带驱动器支持硬件压缩则 DUMP 或 BACKUP 语句会使用该功能
利用此跟蹤标记可以禁用磁带驱动程序的硬件压缩
本项在要与不支持压缩的其它站点或磁带驱动器交换磁带时有用
将trace结果输出到前端
要求DBCC的输出放到SQL server ERROR LOG
停止索引提示功能
停止join group等最优化提示功能
停止锁提示功能
停止最优化超时配置强制做完整的最优化动作
DBCC page
dbcc traceon()
dbcc page(northwind)
/*查询northwind 的数据的第个页面的信息*/
/*DBCC Page ({dbid|dbname}filenumpagenum[printopt])
?
具体参数描述如下
dbid: 包含页面的数据库ID
dbname:包含页面的数据库的名称
filenum:包含页面的文件编号
pagenum:文件内的页面
printopt:可选的输出选项;选用其中一个值
:默认值输出缓沖区的标题和页面标题
:输出缓沖区的标题页面标题(分别输出每一行)以及行偏移量表
:输出缓沖区的标题页面标题(整体输出页面)以及行偏移量表
:输出缓沖区的标题页面标题(分别输出每一行)以及行偏移量表;每一行后跟分别列出的它的列值
*/
DBCC checkalloc
DBCC checkalloc(northwind)
/*检查指定数据库的系统表内和表间的一致性
checkalloc是检查指定数据库看其所有正确分配的页和尚未分配的页的情况
若未指定数据库名则checkalloc检查当前数据库checkalloc会返回已分配的和使用的空间数量
checkalloc的缺省模式为nofix要使用fix选项必须把数据库置于单用户模式
*/
DBCC checkcatalog
DBCC checkcatalog(northwind)
/*
检查批定数据库的系统表内和系统表间的一致性
*/
DBCC checkconstraints
DBCC checkconstraints(products)
/*
检查指定表上的指定约束或所有约束的完整性
DBCC CHECKCONSTRAINTS
[(table_name|constraint_name
)]
[WITH {ALL_ERRORMSGS|ALL_CONSTRAINTS}]
DBCC CHECKCONSTRAINTS在某个数据库中检测某些特定的约束或者全部约束的一致性
DBCC CHECKCONSTRAINTS总是在当前数据库的上下文环境中执行
注意DBCC CHECKCONSTRAINTS并不进行磁盘或者文件级别的一致性检测;
它只是确保外键定义的一致性同时检测约束——仅仅是确认数据有效
如果你希望检测磁盘上表和索引的一致性
你应该执行DBCC CHECKDB或者在所有的表上执行DBCC CHECKALLOC和 DBCC CHECKTABLE的组合
*/
DBCC checkdb
DBCC checkdb
/*
检查数据库中的所有对象的分配和结构完整性
checkdb [(database_name[ NOINDEX | REPAIR])]
[WITH NO_INFOMSGS[ ALL_ERRORMSGS][ PHYSICAL_ONLY]
[ ESTIMATEONLY][ TABLOCK]]
*/
DBCC cleantable
DBCC cleantable
/*
回收alter table drop column语句 删除可变长度列或text列后的存储空间
cleantable (database_name|database_id table_name|table_id [batch_size])
*/
DBCC dbreindex
DBCC dbreindex
/*
重建指定数据库的一个或多个索引
dbreindex (table_name [ index_name [ fillfactor ]]) [WITH NO_INFOMSGS]
*/
DBCC indexdefrag
DBCC indexdefrag
/*
对表或视图上的索引和非聚集索引进行碎片整理
indexdefrag ({dbid | dbname | } {tableid | tablename} {indid | indname})
*/
DBCC pintable/DBCC unpintable
将表数据驻留在内存中或撤销驻留 在内存中的数据
pintable (database_id table_id)
DBCC shrinkdatabase
收缩指定数据库的数据文件和日志文件大小
shrinkdatabase ({dbid | dbname} [freespace_percentage [ {NOTRUNCATE | TRUNCATEONLY}]])
DBCC shrinkfile
收缩相关数据库的指定数据文件和日志文件大小
shrinkfile ({fileid | filename} [compress_size [ {NOTRUNCATE | TRUNCATEONLY | EMPTYFILE}]])
DBCC dllname(free)
在内存中制裁指定的扩展想念过程动态链接库(DLL)
sp_helpextended proc
查询当前内存中的扩展存储过程动态链接库
DBCC dropcleanbuffers
从缓沖池中删除所有缓沖区
/*
使用 DBCC DROPCLEANBUFFERS 测试带有冷高速缓存的查询而不用关闭和重新启动服务器
*/
DBCC freeproccache
从过程缓沖区删除所有元素
清理所有数据库的过程高速缓存
DBCC inputButter
显示从客户机发送到服务器的最后一个语句
DBCC opentran
查询某个数据库执行时间最久的事务由哪个程序拥有
DBCC show_statistics
显示指定表上的指定目前的当前分布统计信息
DBCC showcontig
显示指定表的数据和索引的碎片信息
DBCC sqlperf
可用参数logspaceiostatsthreads
返回多种有用的统计信息
dbcc sqlperf(logspace)
Database Name Log Size (MB) Log Space Used (%) Status
master
tempdb
model
msdb
pubs
Northwind
dbcdr
fcdb
fcdb_
test
kldb
dbcc sqlperf(iostats)
Statistic Value
Reads Outstanding
Writes Outstanding
dbcc sqlperf(threads)
Spid Thread ID Status LoginName IO CPU MemUsage
NULL background NULL
NULL background NULL
NULL sleeping NULL
NULL background NULL
background sa
NULL sleeping NULL
background sa
background sa
background sa
background sa
background sa
background sa
sleeping RDAdm
sleeping RDAdm
runnable RDAdm
DBCC cachestats
显示SQL SERVER内存的统计信息
DBCC cursorstats
显示SQL SERVER游标的统计信息
DBCC sqlmgrstats
显示缓沖中先读和预先准备的SQL语句
DBCC errlog
初始化SQL SERVER错误日志文件
DBCC flushprocindb
清除SQL SERVER服务器内存中某个数据库的存储过程缓存内容
DBCC Buffer
显示缓沖区的善信息和页面信息
DBCC DBinfo
显示数据库结构信息
DBCC DBtable
显示管理数据的表信息
DBCC IND
查看某个索引使用的页面信息
DBCC REbuild_log
重建SQL SERVER事务日志文件
DBCC log
查看某个数据库使用的事务日志信息
DBCC procbuf
显示过程缓沖池中的缓沖区头和存储过程头
DBCC prtipage
查看某个索引页面的每行指向的页面号
DBCC pss
显示当前连接到SQL SERVER的进程信息
DBCC resource
显示服务器当前使用的资源情况
DBCC tab
查看数据页面的结构