五、DBCC 未公开的命令
* DBCC ERRLOG
初始化SQL Server 2000的错误日志文件
* DBCC FLUSHPROCINDB (db_id)
清除SQL Server 2000服务器内存中的某个数据库的存储过程缓存内容
* DBCC BUFFER (db_name,object_name,int(缓冲区个数))
显示缓冲区的头部信息和页面信息
* DBCC DBINFO (db_name)
显示数据库的结构信息
* DBCC DBTABLE
显示管理数据的表(数据字典)信息
* DBCC IND (db_name,table_name,index_id)
查看某个索引使用的页面信息
* DBCC REBUILDLOG
重建SQL Server 2000事务日志文件
* DBCC LOG (db_name,3) (-1--4)
查看某个数据库使用的事物日志信息
* DBCC PAGE
查看某个数据库数据页面信息
* DBCC PROCBUF
显示过程缓冲池中的缓冲区头和存储过程头
* DBCC PRTIPAGE
查看某个索引页面的每行指向的页面号
* DBCC PSS (user,spid,1)
显示当前连接到SQL Server 2000服务器的进程信息
* DBCC RESOURCE
显示服务器当前使用的资源情况
* DBCC TAB (db_id,object_id)
显示数据页面的结构
六、DBCC跟踪标记
跟踪标记用于临时设置服务器的特定特征或关闭特定行为,常用于诊断性能问题或调试存储过程或复杂的计算机系统
* DBCC TRACEON (3604)
打开跟踪标记
* DBCC TRACEOFF
关闭跟踪标记
* DBCC TRACESTATS
查看跟踪标记状态
七、使用 DBCC 结果集输出
许多 DBCC 命令可以产生表格格式的输出(使用 WITH TABLERESULTS 选项)。该信息可装载到表中以便将来使用。以下显示一个示例脚本:
CREATE TABLE DBCCResult (
DBCCFlag INT,
Result INT
)
INSERT INTO DBCCResult
EXEC (’DBCC TRACESTATUS (-1) WITH NO_INFOMSGS’)
SELECT *
FROM DBCCResult
八、官方使用DBCC的建议
1、在系统使用率较低时运行 CHECKDB。
2、请确保未同时执行其它磁盘 I/O 操作,例如磁盘备份。
3、将 tempdb 放到单独的磁盘系统或快速磁盘子系统中。
4、允许 tempdb 在驱动器上有足够的扩展空间。 使用带有 ESTIMATE ONLY 的 DBCC估计 tempdb 将需要多少空间。
5、避免运行占用大量 CPU 的查询或批处理作业。
6、在 DBCC 命令运行时,减少活动事务。
7、使用 NO_INFOMSGS 选项显著减少处理和 tempdb 的使用。
8、考虑使用带有 PHYSICAL_ONLY 选项的 DBCC CHECKDB 来检查页和记录首部的物理结构。当硬件导致的错误被置疑时,这个操作将执行快速检查。
责任编辑:小草