扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Baya Pavliashvili 来源:it专家网 2007年9月15日
关键字: 维护 数据库 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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者