科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[SQL Server]维护为SQL Server保驾护航(1)

[SQL Server]维护为SQL Server保驾护航(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

每个新发布的SQL Server都具有越来越多的自我维护能力,但是“安全比抱歉好得多”的原则仍然是正确的:实际的数据库管理包含了对系统和用户数据库进行的周期性维护,这样才能在你的用户发现问题之前把它解决掉。

作者:Baya Pavliashvili 来源:it专家网 2007年9月15日

关键字: 维护 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
每个新发布的SQL Server都具有越来越多的自我维护能力,但是“安全比抱歉好得多”的原则仍然是正确的:实际的数据库管理包含了对系统和用户数据库进行的周期性维护,这样才能在你的用户发现问题之前把它解决掉。

  SQL Server 2000中包含了数据库维护计划向导,它可以为你自动完成所有的维护任务。然而,你需要了解,在现场和你的维护计划后面,什么是隐藏的可能给你带来麻烦的东西。

  数据库维护计划是通过一系列的DBCC命令和系统存储过程实现的。DBCC的意思是数据库一致性检测(database consistency check)或者数据库控制台命令(database console command)。有非常多的写入文档的和没有写入文档的DBCC命令,但是只有一小部分可以用于维护。这里我将回顾一些与数据库维护的各个方面相关的DBCC命令和系统存储过程。

  通常的数据库维护时间表都具有如下的活动。点击活动,可以获得与此相关的DBCC命令和系统存储过程。

  1、检测数据库一致性和数据的完整性

  DBCC CHECKDB是最广泛使用的,检测数据库中所有对象的工具。这个语句可以为每一个表和索引视图,以及文本和图像对象,检测所有的数据和索引页面的分配和结构上的完整性。DBCC CHECKDB保证了所有的数据和索引页面都正确链接,并且指针都是一致的。在指定的数据库中,用户和系统表都会被检测到。DBCC CHECKDB对数据库中每个对象都都执行DBCC CHECKALLOC和 DBCC CHECKTABLE语句,所以如果你使用DBCC CHECKDB,你就不需要再执行DBCC CHECKALLOC和DBCC CHECKTABLE了。

  DBCC CHECKDB的某些选项(REPAIR_FAST, REPAIR_REBUILD 和 REPAIR_ALLOW_DATA_LOSS)需要数据库在单用户的模式下运行。如果不是单用户模式的化,语句就失败了。注意,当用户连接在上面的时候,不要将数据库设置成单用户模式。

  如果你执行不带参数的DBCC CHECKDB并且发现错误的时候,你应该将你的数据库设置在单用户模式,然后尝试修复这个问题。首先,确保执行那些不会导致数据丢失的语句——REPAIR_FAST 和 REPAIR_REBUILD。如果你还是遇到错误,那么执行DBCC CHECKDB,带着参数REPAIR_ALLOW_DATA_LOSS。还要确保在显性事务中关闭语句。如果发生了可接受的数据丢失,你可以提交这个事务。否则,你还可以通过语句来回滚所作的修改。

  请注意,运行DBCC CHECKDB是一项非常消耗资源的操作。你应该在限制用户在数据库服务器上的活动的时候运行这个语句。

  DBCC CHECKTABLE与DBCC CHECKDB相同,除了它是在一个单个的表、索引视图或者即使是一个索引上,而不是在整个数据库上。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章