推荐每次备份数据库以后进行一次,要获得好的 DBCC 性能的一些建议

  • 在系统使用率较低时运行 CHECKDB。
  • 请确保未同时执行其它磁盘 I/O 操作,例如磁盘备份。
  • tempdb 放到单独的磁盘系统或快速磁盘子系统中。
  • 允许 tempdb 在驱动器上有足够的扩展空间。使用带有 ESTIMATE ONLY 的 DBCC 估计 tempdb 将需要多少空间。
  • 避免运行占用大量 CPU 的查询或批处理作业。
  • 在 DBCC 命令运行时,减少活动事务。
  • 使用 NO_INFOMSGS 选项显著减少处理和 tempdb 的使用。
  1. USE master 
  2. DECLARE @dbName VARCHAR(255) 
  3. SET @dbName='需要修复的数据库实体的名称' 
  4. EXEC SP_DBOPTION @dbName, N'single', N'true'   --单用户状态 
  5. DBCC CHECKDB(@dbName,REPAIR_ALLOW_DATA_LOSS) 
  6. DBCC CHECKDB(@dbName,REPAIR_REBUILD) 
  7. EXEC SP_DBOPTION @dbName, N'single', N'false'  --多用户状态  

本日志由 Loveyuki 于 2009-08-20 12:07 发表,目前已经被浏览 1564 次,评论 4 次;

作者添加了以下标签: SQL Server

引用通告:http://blog.loveyuki.com/Article/138/Trackback.ashx

评论订阅:http://blog.loveyuki.com/Article/138/Feeds.ashx

评论列表

  1. 2009-08-21 09:29 | # | 回复
    学习了~好久没来~忙死了最近。
  2. 2009-08-21 23:05 | # | 回复
    来学习下 想换博客程序!
  3. 2009-08-22 01:23 | # | 回复
    不错,学习了!
  4. Gravatar
    Daniel_Chow
    2009-09-15 17:43 | # | 回复
    恩,不错学习了。 我备份等操作是用Agent定时到凌晨3-5点去操作,每天一差异每周一完整。
(必填)
(必填,不会被公开)