打开企业管理器时出现置疑修复.docx_第1页
打开企业管理器时出现置疑修复.docx_第2页
打开企业管理器时出现置疑修复.docx_第3页
打开企业管理器时出现置疑修复.docx_第4页
打开企业管理器时出现置疑修复.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

寒山sql数据库修复中心 / 修复 SQL2000 数据库置疑时出现的错误 在执行最后一步 dbcc checkdb(dbname) 检查完整性上出的错 服务器: 8946, 16, 12, 服务器: 消息 8946,级别 16,状态 12,行 2 表错误: 页首结构值无效。 表错误: 分配页 (1:461016) 的 PFS_PAGE 页首结构值无效。类型为 0。请检 查该页上的类型、 ID。 查该页上的类型、对象 ID 和页 ID。 服务器: 7995, 16, 服务器: 消息 7995,级别 16,状态 1,行 1 sysobjects、sysindexes、 数据库 dbname 在 sysobjects、sysindexes、syscolumns 或 systypes 中 存在一致性错误,妨碍了进一步的 处理。 存在一致性错误,妨碍了进一步的 CHECKDB 处理。 执行完毕。 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 提问者: 三级最佳答案备份数据文件,然后按下面的步骤处理: 提问者: 风之辟尘 - 三级最佳答案备份数据文件,然后按下面的步骤处理: 1.新建一个同名的数据库(数据文件与原来的要一致) 1.新建一个同名的数据库(数据文件与原来的要一致) 新建一个同名的数据库 2.再停掉 2.再停掉 sql server(注意不要分离数据库) server(注意不要分离数据库) 注意不要分离数据库 3.用原数据库的数据文件覆盖掉这个新建的数据库 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启 4.再重启 sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句( 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改 此时打开企业管理器时会出现置疑 语句 其中的数据库名) 其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时, 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问 完成后一般就可以访问数据库中的数据了 解决办法是, 题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE GO MASTER SP_CONFIGURE GO ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDE UPDATE SYSDATABASES 的数据库名 的数据库名 Go sp_dboption SET STATUS =32768 WHERE NAME=置疑 NAME=置疑 置疑的数据库名, 置疑的数据库名, single user, true Go DBCC Go update 数据库名 数据库名 Go CHECKDB(置疑的数据库名) CHECKDB(置疑的数据库名) 置疑的数据库名 sysdatabases set status =28 where name=置疑的 name=置疑的 sp_configure sp_configure ide Go allow updates, 0 reconfigure with overr 置疑的数据库名, sp_dboption 置疑的数据库名, TEST: 假设数据库为 TEST: 按以下步骤执行 single user, false A设置数据库允许直接操作系统表。此操作可以在 设置数据库允许直接操作系统表。 里面选择数据库服务器,按右键, SQL Server Enterprise Manager 里面选择数据库服务器,按右键,选择 属性” 服务器设置 页面中将“允许对系统目录直接修改”一项选中。 设置” “属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。 也可以使用如下语句来实现。 也可以使用如下语句来实现。 use master go sp_configure allow updates,1 go reconfigure with override go B设置 test 为紧急修复模式 status=update sysdatabases set status=-32768 where dbid=DB_ID( test) 此时可以在 此时可以在 SQL Server Enterprise Manager 里面看到该数据库处于 “只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表 只读置疑脱机紧急模式”可以看到数据库里面的表, 下面执行真正的恢复操作, C下面执行真正的恢复操作,重建数据库日志文件 rebuild_log(test,C: Files dbcc rebuild_log(test,C:Program FilesMicrosoft SQL Se rverMSSQLData rverMSSQLDatatest_log.ldf) 执行过程中,如果遇到下列提示信息: 执行过程中,如果遇到下列提示信息: 服务器: 5030, 16, 服务器: 消息 5030,级别 16,状态 1 ,行 1 未能排它地锁定数据库以执行该操作。 未能排它地锁定数据库以执行该操作。 执行完毕。 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 说明您的其他程序正在使用该数据库, 说明您的其他程序正在使用该数据库,如果刚才您在 F 步骤中使用 库的系统表, SQL Server Enterprise Manager 打开了 test 库的系统表,那么退出 SQL Server Enterprise Manager 就可以了。 就可以了。 正确执行完成的提示应该类似于: 正确执行完成的提示应该类似于: 警告: 数据库 test 的日志已重建。已失去事务的一致性。应运 的日志已重建。已失去事务的一致性。 警告: test 以验证物理一致性。将必须重置数据库选项, 行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可 能需要删除多余的日志文件。 能需要删除多余的日志文件。 执行完毕。 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 此时打开在 SQL Server Enterprise Manager 里面会看到数据库的状 态为“ 使用” 此时可以访问数据库里面的用户表了。 态为“只供 DBO 使用”。此时可以访问数据库里面的用户表了。 验证数据库一致性(可省略) D验证数据库一致性(可省略) checkdb(test) dbcc checkdb(test) 一般执行结果如下: 一般执行结果如下: 个一致性错误( CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据 库 test 中)。 执行完毕。 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 E设置数据库为正常状态 sp_dboption test,dbo use only,false 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 最后一步, 中设置的“允许对系统目录直接修改” F最后一步,我们要将步骤 E 中设置的“允许对系统目录直接修改”一项恢 因为平时直接操作系统表是一件比较危险的事情。当然, 复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在 里面恢复, SQL Server Enterprise Manager 里面恢复,也可以使用如下语句完成 sp_configure allow updates,0 go reconfigure with override go 上面的语句操作步骤有点问题: 上面的语句操作步骤有点问题: 应该如下: 应该如下: 我们使用默认方式建立一个供恢复使用的数据库( test)。 A我们使用默认方式建立一个供恢复使用的数据库(如 test)。可以在 里面建立。 SQL Server Enterprise Manager 里面建立。 停掉数据库服务器。 B停掉数据库服务器。 删除, C将刚才生成的数据库的日志文件 test_log.ldf 删除,用要恢复的数据库 test_data.mdf。 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 status=where dbid=DB_ID( dbid=DB_ID( test) 此时可以在 SQL Server Enterprise Manager 里面看到该数据库处于 只读置疑脱机紧急模式”可以看到数据库里面的表, “只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表 G下面执行真正的恢复操作,重建数据库日志文件 下面执行真正的恢复操作, rebuild_log(test,C: Files dbcc rebuild_log(test,C:Program FilesMicrosoft SQL Se rverMSSQLData rverMSSQLDatatest_log.ldf) 执行过程中,如果遇到下列提示信息: 执行过程中,如果遇到下列提示信息: 服务器 5030, 16, 服务器: 消息 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 回答者: 18 回答者: 格拉底欧拉 - 五级 2008-112008-11-29 18:49 我来评论 我来评论 相关内容 数据库(置疑) 2008? sql2000 数据库(置疑) 1 2008-3-4 2008-10? 如何分析 sql2000 数据库置疑的原因 3 2008-10-10 数据库在操作过程中突然断电引起的置疑? 2006? SQL2000 数据库在操作过程中突然断电引起的置疑? 1 2006-7-22 数据库文件( .ldf)的工具? 2010? 谁有修复 SQL2000 数据库文件(.mdf 和.ldf)的工具? 2010-6-12 2008-11? SQL2000 数据库不能备份如何修复 2008-11-5 置疑的问题 更多关于 sql 数据库 置疑的问题 查看同主题问题: sql2000 数据库 数据库 置疑 修复 查看同主题问题: 等待您来回答更多 等待您来回答更多 能自动送礼物的那种! 1 回答 20 谁给我个 dnf 好感度查询器啊 能自动送礼物的那种! 1 电影播放器啊! 不卡的! 会卡! 回答 大家推荐一个诺基亚 5230 电影播放器啊!要放 f4v 不卡的!用 uc 会卡! 您好,邵老师,我梦见家里墙倒向外侧,请问这是? 2 回答 50 您好,邵老师,我梦见家里墙倒向外侧,请问这是? 0 回答 南京新 港叉车工培训机构有哪些 0 回答 能把周瞳探案四剥皮者第 12 章 情难自禁 能把 周瞳探案四剥皮者 开始,到最新的章节发 求诺基亚手机主题的下载网站, (3)开始,到最新的章节发 0 回答 求诺基亚手机主题的下载网站,谢谢 2 我爱上了拜托了老师里得老师,做梦还梦见了, 回答 我爱上了拜托了老师里得老师,做梦还梦见了,咋办啊 0 回答 南京新港 开发区乐金显示南京有限公司的邮寄地址是什么 开发区乐金显示南京有限公司的邮寄地址是什么 其他回答 共 4 条 我们使用默认方式建立一个供恢复使用的数据库( test)。 A我们使用默认方式建立一个供恢复使用的数据库(如 test)。可以在 里面建立。 SQL Server Enterprise Manager 里面建立。 停掉数据库服务器。 B停掉数据库服务器。 删除, C将刚才生成的数据库的日志文件 test_log.ldf 删除,用要恢复的数据库 test_data.mdf。 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 为紧急修复模式 status=update sysdatabases set status=-32768 where dbid=DB_ID( test) 此时可以在 SQL Server Enterprise Manager 里面看到该数据库处于 只读置疑脱机紧急模式”可以看到数据库里面的表, “只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表 下面执行真正的恢复操作, G下面执行真正的恢复操作,重建数据库日志文件 rebuild_log(test,C: FilesMicrosoft SQL dbcc rebuild_log(test,C:Program FilesMicrosoft Se rverMSSQLData rverMSSQLDatatest_log.ldf) 执行过程中,如果遇到下列提示信息: 执行过程中,如果遇到下列提示信息: 服务器: 5030, 16, 服务器: 消息 5030,级别 16,状态 1 ,行 1 未能排它地锁定数据库以执行该操作。 未能排它地锁定数据库以执行该操作。 执行完毕。 输出了错误信息, 请与系统管理员联系。 DBCC 执行完毕。 如果 DBCC 输出了错误信息, 请与系统管理员联系。 说明您的其他程序正在使用该数据库, 说明您的其他程序正在使用该数据库,如果刚才您在 F 步骤中使用 库的系统表, SQL Server Enterprise Manager 打开了 test 库的系统表,那么退出 就可以了。 SQL Server Enterprise Manager 就可以了。 正确执行完成的提示应该类似于: 正确执行完成的提示应该类似于: 警告: 数据库 警告: test 的日志已重建。已失去事务的一致性。应运 的日志已重建。 已失去事务的一致性。 以验证物理一致性。将必须重置数据库选项, 行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可 能需要删除多余的日志文件。 能需要删除多余的日志文件。 执行完毕。 输出了错误信息, 请与系统管理员联系。 DBCC 执行完毕。 如果 DBCC 输出了错误信息, 请与系统管理员联系。 Enterprise 此时打开在 SQL Server Enterprise Manager 里面会看到数据库的状 态为“ 使用” 此时可以访问数据库里面的用户表了。 态为“只供 DBO 使用”。此时可以访问数据库里面的用户表了。 验证数据库一致性(可省略) H验证数据库一致性(可省略) dbcc checkdb(test) 一般执行结果如下: 一般执行结果如下: 个一致性错误( CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据 库 test 中)。 执行完毕。 输出了错误信息, 请与系统管理员联系。 DBCC 执行完毕。 如果 DBCC 输出了错误信息, 请与系统管理员联系。 I设置数据库为正常状态 sp_dboption test,dbo sp_dboption use only,false 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 最后一步, 中设置的“允许对系统目录直接修改” J最后一步,我们要将步骤 E 中设置的“允许对系统目录直接修改”一项恢 因为平时直接操作系统表是一件比较危险的事情。当然, 复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在 里面恢复, SQL Server Enterprise Manager 里面恢复, 也可以使用如下语句完成 sp_configure allow updates,0 go reconfigure with override go 回答者: 回答者: clanboo - 七级 2008-112008-11-29 16:33 1.新建一空数据库,点空数据库所有任务,选择导入数据,数据源选择问题库, 1.新建一空数据库,点空数据库所有任务,选择导入数据,数据源选择问题库,目 新建一空数据库 标空数据库!注意要选择 之间复制对象或数据. .选择全部的表复制过去 标空数据库!注意要选择在 SQL 之间复制对象或数据.选择全部的表复制过去 即可 2.如果还是不行 如果还是不行, 2.如果还是不行,那只有用 dbcc checkdb(dbname,repair_allow_data_loss) 修复受损库.但是可能会丢失数据! 修复受损库.但是可能会丢失数据! 回答者: 回答者: 16956995 - 三级 2008-12-2 08:40 008-12- 数据库出问题、客户告急、修复中、没修好、数据要完蛋、本想放弃、 数据库出问题、客户告急、修复中、没修好、数据要完蛋、本想放弃、 、没修好 、本想放弃 不甘心、继续、鼓捣半天终于搞定、 过程如下: 、鼓捣半天终于搞定 不甘心、继续、鼓捣半天终于搞定、 过程如下: 连接中断、 sql2000 表损坏时提示 select * from A 时提示 连接中断、 首先将数据库设置成单用户模式。 1:首先将数据库设置成单用户模式。可以在企业管理器里选择数据库然后右 属性选项里改为单用户模式。 执行语句: 键属性选项里改为单用户模式。or 执行语句: 数据库名,single sp_dboption 数据库名,single use

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论