一些文档中没有介绍的SQL Server DBCC命令

2009-05-12 20:30:58来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

这篇论坛文章(赛迪网技术社区)主要介绍了一些特别有用但文档中没有介绍的sql server DBCC命令,详细内容请参考下文:

以下是一些sql server的DBCC命令,可以在优化 sql server时使用。

◆1.DBCC CacheStats :显示存在于当前 buffer Cache 中的对象的信息,例如 :hit rates,编译的对象和执行计划

例:

DBCC CACHESTATS

执行结果(缩略)

Object Name Hit Ratio

------------ -------------

Proc 0.86420054765378507

Prepared 0.99988494930394334

Adhoc 0.93237136647793051

ReplProc 0.0

Trigger 0.99843452831887947

Cursor 0.42319205924058612

Exec Cxt 0.65279111666076906

View 0.95740334726893905

Default 0.60895011346896522

UsrTab 0.94985969576133511

SysTab 0.0

Check 0.67021276595744683

Rule 0.0

Summary 0.80056155581812771

从这个命令可以得到一些关键的统计信息:

Hit Ratio:显示特定对象可以在sql server的缓存中被命中的百分比,这个数值越大,越好

Object Count:显示特定类型的对象在sql server的缓存中被命中的总数

Avg.Cost:sql server用于测量编译一个执行计划所需的时间,以及这个计划所需的内存。根据这个值,可以决定执行计划是否应该加载在缓存中。

Avg.Pages:测量在缓存中的对象使用8K页的平均总数

LW Ojbect Count,LW Avg Cost,WL Avg Stay,LW Ave Use:这些列的值表明有多少特定的对象已经被写进程从缓存总移走。这些数值越低,越好。

◆2.DBCC DROPCLEANBUFFERS:从缓冲池中删除所有,清除缓冲区。在进行测试时,使用这个命令可以从sql server’s的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性。需要注意的是这个命令只移走干净的缓存,不移走脏缓存。由于这个原因,在执行这个命令前,应该先执行CheckPoint,将所有脏的缓存写入磁盘,这样在运行DBCC RROPCLEANBUFFERS 时,可以保证所有的数据缓存被清理,而不是其中的一部分。

◆3.DBCC ErrorLog :如果很少重起mssqlserver服务,那么服务器的日志会增长得很快,而且打开和查看日志的速度也会很慢。使用这个命令,可以截断当前的服务器日志,主要是生成一个新的日志。可以考虑设置一个调度任务,每周执行这个命令自动截断服务器日志。使用存储过程sp_cycle_errorlog也可以达到同样的目的。

◆4.DBCC FLUSHPROCINDB:用于清理一个数据库实例中指定数据库的存储过程使用的缓存。数据库的ID是必输参数。

在测试时保证以前的存储过程计划不会对测试结果造成负面影响,可以使用这个存储过程。

例子:

DECLARE @intDBID INTEGER SET @intDBID = (SELECT dbid FROM master.dbo.sysdatabases WHERE name = 'database_name')

DBCC FLUSHPROCINDB (@intDBID)


◆5.DBCC FREEPROCCACHE:用于清理所有数据库的过程高速缓存。例如,释放过程高速缓存将导致重新编译某些部分(例如特别 SQL 语句),而不是从高速缓存中对其再使用。

◆6.DBCC MEMORYSTATUS:列出一个详细分类,分类中显示sql server缓存如何分配,包括缓存的活动。

◆7.DBCC PAGE:用于查看sql server 中一个数据页的内容

例:

DBCC PAGE((dbid|dbname),pagenum [,Print Option][,cache][,logical])

参数说明:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SQL Server取得网站路径的几种方法及比较

下一篇:讲解SQL Server危险扩展存储删除和恢复