数据库被置疑后的解决方法剖析_new_new.docxVIP

数据库被置疑后的解决方法剖析_new_new.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库被置疑后的解决方法剖析_new_new.docx

数据库被置疑后的解决方法数据库被置疑后的解决方法?A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager??里面建立。?B.停掉数据库服务器。?C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据??库数据文件test_data.mdf。?D.启动数据库服务器。此时会看到数据库test的状态为置疑。这时候不能对此数据库进行任何*作。?E.设置数据库允许直接*作系统表。此*作可以在SQL Server Enterprise Manager里面选择数据库服??务器,按右键,选择属性,在服务器设置页面中将允许对系统目录直接修改一项选中。也可以??使用如下语句来实现。??use master??go??sp_configure allow updates,1??go??reconfigure with override??go?F.设置test为紧急修复模式??update sysdatabases set status=-32768 where dbid=DB_ID(test)??此时可以在SQL Server Enterprise Manager里面看到该数据库处于只读\置疑\脱机\紧急模式可以??看到数据库里面的表,但是仅仅有系统表?G.下面执行真正的恢复*作,重建数据库日志文件??dbcc rebuild_log(test,C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf)??执行过程中,如果遇到下列提示信息:???服务器: 消息 5030,级别 16,状态 1,行 1??未能排它地锁定数据库以执行该*作。??DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。???说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager??打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。????正确执行完成的提示应该类似于:???警告: 数据库 test 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致??性。将必须重置数据库选项,并且可能需要删除多余的日志文件。??DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。????此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为只供DBO使用。此时可以??访问数据库里面的用户表了。?H.验证数据库一致性(可省略)??dbcc checkdb(test)????一般执行结果如下:????CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 test 中)。??DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。???I.设置数据库为正常状态??sp_dboption test,dbo use only,false??如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。?J.最后一步,我们要将步骤E中设置的允许对系统目录直接修改一项恢复。因为平时直接*作系统表??是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用??如下语句完成??sp_configure allow updates,0??go??reconfigure with override??go???--数据库(如test) 分离后再附加 ??EXEC sp_detach_db test??EXEC sp_attach_db test,c:\Program Files\Microsoft SQL Server\MSSQL\Data\test.mdf,c:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf数据库置疑的处理办法??在MS SQLSERVER中一直有这样的问题,SQLSERVER的状态置疑,我们先来分析一下SQLSERVER数据库置疑的原因:??1.错误的删除日志;??2.硬件(HD)损坏,造成日志和数据文件写错误;??3.硬盘的空间不够,比如日志文件过大;??????解决办法:????这是最简单的办法是有数据库的全备份,然后恢复即可.??步骤:????1. 删除原始的数据库:??USE MASTER??GO??DROP DATABASE DB_SUEPECT??????2.建立同名的数据库:??USE master??GO??

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档