修复sql2000数据库置疑时出现的错误.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
修复SQL2000数据库置疑时出现的错误 在执行最后一步dbcc checkdb(dbname)检查完整性上出的错 服务器:消息8946,级别16,状态12,行2 表错误:分配页(1:461016)的PFS_PAGE页首结构值无效。类型为 0。请检 查该页上的类型、对象ID和页ID。 服务器:消息7995,级别16,状态1,行1 数据库dbname 在 sysobjects 、sysindexes、syscolumns 或 systypes 中 存在一致性错误,妨碍了进一步的 CHECKDB处理。 DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。 提问者:风之辟尘-三级最佳答案备份数据文件,然后按下面的步骤处理: 新建一个同名的数据库(数据文件与原来的要一致) 再停掉sql server( 注意不要分离数据库) 用原数据库的数据文件覆盖掉这个新建的数据库 再重启 sql server 此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改 其中的数据库名) 完成后一般就可以访问数据库中的数据了 ,这时,数据库本身一般还要问 题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了 . USE MASTER GO SP_CONFIGURE ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=置疑 的数据库名’ Go sp dboption 置疑的数据库名,single user, true Go DBCC CHECKDB(置疑的数据库名) Go update sysdatabases set status =28 where n ame= 置疑的 数据库名’ Go sp_c on figure allow updates, 0 rec on figure with overr de Go sp_dboption 置疑的数据库名,single user, false 假设数据库为TEST 按以下步骤执行 A ?设置数据库允许直接操作系统表。此操作可以在 SQL Server Enterprise Manager 里面选择数据库服务器,按右键,选择 “属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。 也可以使用如下语句来实现。 use master go sp_c on figure allow updates,1 go rec on figure with override go B ?设置test为紧急修复模式 update sysdatabases set status=-32768 where dbid=DB_ID( test) 此时可以在SQL Server Enterprise Manager 里面看到该数据库处于 “只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表 C ?下面执行真正的恢复操作,重建数据库日志文件 dbcc rebuild」og(test,C:\Program Files\Microsoft SQL Se rver\MSSQL\Data\test_log.ldf) 执行过程中,如果遇到下列提示信息: 服务器: 消息5030,级别16,状态1,行1 未能排它地锁定数据库以执行该操作。 DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。 说明您的其他程序正在使用该数据库,如果刚才您在 F步骤中使用 SQL Server Enterprise Manager 打开了 test库的系统表,那么退出 SQL Server En terprise Man ager 就可以了。 正确执行完成的提示应该类似于: 警告: 数据库test 的日志已重建。已失去事务的一致性。应运 行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可 能需要删除多余的日志文件。 DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。 此时打开在SQL Server Enterprise Manager 里面会看到数据库的状 态为“只供DBO使用”。此时可以访问数据库里面的用户表了。 D ?验证数据库一致性(可省略) dbcc checkdb(test) 一般执行结果如下: CHECKDB发现了 0 个分配错误和 0 个一致性错误(在数据 库test 中)。 DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。 E ?设置数据库为正常状态 sp_dbopti on test,dbo use onl y,false 女如果没有出错,那么恭喜,现在就可以正

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档