SQLSERVER2008针对注册表项一致性验证失败

SQLSERVER2008针对注册表项一致性验证失败,第1张

SQLSERVER2008针对注册表项一致性验证失败是设置错误造成的,解决方法为:

1、在系统桌面左下角点击开始----点击运行。

2、在运行编辑框输入CMD回车。

3、在命令提示符处注册(如图),选择对应的 *** 作系统类型和对应的数据库安装目录,输入完成后回车,注册成功后d出dts.dll注册成功。

4、在开始程序中找到Microsoft SQL Server  2008 R2依次打开配置工具-----SQL Server配置管理器。

5、在Sql Server Configuration Manger管理窗口中选择左侧SQL Server配置管理器(本地)节点下的SQL Server服务,选中窗口右侧的SQL Server 代理(MSSQLSERVER)右键选择启动即可。

第一步:在数据库“属性”选项下,选择“选项”,选择“限制访问”,值改为“SINGLE_USER”

第二步:执行SQL

DBCC CHECKDB (数据库名称如mytable, repair_allow_data_loss) with NO_INFOMSGS

第三步:执行SQL

DBCC CHECKDB

如果还有错误,继续执行第二步

第四步:在数据库“属性”选项下,选择“选项”,选择“限制访问”,值改为“MUTI_USER”

数据库损坏最行之有效的办法就是存在冗余数据,使用冗余数据进行恢复。所谓的冗余数据包括热备、冷备、和暖备。

使用镜像或可用性组作为热备,当检测到错误时,可以自动进行页修复(镜像要求2008以上,可用性组是2012的功能)。镜像当主体服务器遭遇824错误时,会向镜像服务器发送请求,将损坏的页由镜像复制到主体解决该问题。对于可用性组,如果数据页是在主副本上发现的,则主副本将会向所有辅助副本发送广播,并由第一个响应的辅助副本的页来修复页错误,如果错误出现在只读辅助副本,则会向主副本请求对应的页来修复错误。在这里有一点值得注意的是,无论是哪一种高可用性技术,都不会将页错误散播到冗余数据中,因为SQL Server中所有的高可用性技术都是基于日志,而不是数据页。

其次是使用暖备或冷备来还原页,我已经在代码清单1中给出了详细的代码,这里就不细说了。

如果没有合适的备份存在,如果损坏的数据页是存在于非聚集索引上,那么你很幸运,只需要将索引禁用后重建即可。

如果存在基准的完整备份,并且日志链没有断裂(包括差异备份可以Cover日志缺失的部分),则可以通过备份尾端日之后还原数据库来进行修复。

最后,如果基础工作做的并不好,您可能就需要通过损失数据的方式来换回数据库的一致性,我们可以通过DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS来修复数据库。使用该方法可能导致数据损失,也可能不会导致数据损失,但大部分情况都会通过删除数据来修复一致性。使用REPAIR_ALLOW_DATA_LOSS需要将数据库设置为单用户模式,这意味着宕机时间。

无论是哪种情况修复数据库,都要考虑是否满足SLA,如果出现了问题之后,发现无论用哪种方式都无法满足SLA的话,那只能检讨之前的准备工作并祈祷你不会因此丢了工作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10658091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存