SQL Server 2008 R2提高DBCC CHECKDB速度的trace flags
2012-08-28 17:54
281 查看
DBA的头痛的一个问题是, 如果数据库很大,比如几百GB, 几个TB,那么DBCC CHECKDB可能需要很长时间如几个小时甚至整天. 尽管CHECKDB可以在线运行,但其会影响磁盘性能,如何缩短CHECKDB的时间对于一个繁忙的服务务器还是很重要。 在SQL 2008 R2 中新增了两个trace flag, 可以用来提高CHECKDB的速度。一个是2549,一个是2562,下面的文档有具体描述: 2634571 Improvements for the DBCC CHECKDB command may result in faster performance when you use the PHYSICAL_ONLY option http://support.microsoft.com/default.aspx?scid=kb;EN-US;2634571 这两个trace flag的都是用来充分利用IO的处理能力的。缺省情况下,DBCC CHECKDB为了避免过度使用TEMPDB以及磁盘资源,它会逐批处理数据库的index。 新的trace flag会改变这个行为,这样它不再分批处理。这样对磁盘的读写就多了,如果磁盘购快,CHECKDB就快了。 Trace flag 带来的另外一个改变就是, 缺省情况下,CHECKDB会并发读写文件,如果他们位于不同的磁盘上。有了trace flag, 即便文件处于同一个盘符下面,SQL server 也把它们当作位于不同的磁盘上。这对于磁盘是 mount point 的情况特别有用。比如你有5个磁盘都是mount point的, 挂在F:盘下的不同目录。这种情况下SQL server就可以把它们当作真正的不同的物理盘。 根据一些测试,这两个trace flag能够提高大概20%~50%的速度。不过, 只有在使用 PHYSICAL_ONLY的情况下。实际上在我的服务器上,我测试下来,缩短的时间并使很明显。大概15%左右。 这个估计和我的PC不是真的服务器,所以并发能力不高有关。 这两个trace flag需要在R2 CU11 或者R2 SP1 CU4 中才有效。
相关文章推荐
- 下载SQL Server 2008 R2 Express(数据库大小限制提高到10G)
- 下载SQL Server 2008 R2 Express(数据库大小限制提高到10G)
- SQL Server 2008 R2 企业版/开发版/标准版(中英文下载,带序列号)
- SQL Server 2008 (R2) 单机版安装的先决条件
- 工作组模式下SQL Server 2008 R2 数据库镜像
- SQL Server 2008 R2——VC++ ADO 操作 多线程操作 代码结构
- SQL Server 2008 R2——VC++ ADO 操作 重复利用_ParameterPtr
- SQL Server 2008 R2评估期已过的解决办法
- SQL Server 2008 R2 使用 PIVOT 错误
- 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!
- SQL Server 2008 R2修复
- 配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2
- SQL Server 2008 R2 查询语句
- 引发关于SQL Server 2008 R2连接Oracle客户端和网络软件的错误
- SQL Server 2008 R2 CPU 和 内存 最大优化 分配
- 基于Windows Server 2008 R2的Failover Cluster(故障转移群集)部署Sql Server 2008 AA(主主) 模式群集(第二部分)
- SQL Server 2008 R2:纯SQL查看数据库描述文档
- SQL Server 2008 R2 性能计数器详细列表(二)
- SQL Server 2008 R2 性能和可扩展性
- SQL Server 2008 R2如何开启数据库的远程连...