2024年9月sql数据库置疑修复(sql2005数据库可疑状态如何解决!急!!!(sql数据库可疑解决办法))

 更新时间:2024-10-12

  ⑴sql数据库置疑修复(sql数据库可疑状态如何解决!急!!!(sql数据库可疑解决办法)

  ⑵此操作可以在企业管理器(SQLServerEnterpriseManager里面选择数据库服务器,我们要将步骤七中设置的“允许对系统目录直接修改”一项恢复,但是仅仅有系统表.下面执行真正的恢复操作,最后用这两个文件通过数据库附加的方法恢复原数据库如何修复SQL数据库置疑步骤如下:停止SQL服务管理器,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复,此操作可以在SQLServerEnterpriseManager里面选择数据库服务器,如果刚才您在八步骤中使用企业管理器打开了test库的系统表,步骤:一、备份“置疑”数据库的数据文件。

  ⑶sql数据库可疑状态如何解决!急!!!(sql数据库可疑解决办法)

  ⑷我认为有两个办法:、如果能够备份“置疑”数据库的话,现备份出来,然后删除该数据库,最后由备份出来的文件恢复

  ⑸如果无法备份可以采取先停止sqlserver,然后到sql安装目录的data(系统默认时这里,也可能在其他你放置的目录下目录下找到该“置疑”数据库文件和日志文件拷贝到其他目录,启动sqlserver,删除该数据库,将考出的数据库文件和日志文件考回原目录,最后用这两个文件通过数据库附加的方法恢复原数据库

  ⑹如何修复SQL数据库置疑

  ⑺步骤如下:停止SQL服务管理器,将原数据文件拷贝进行备份,然后将原数据库删除;启动SQLServer服务,创建一个新的数据库,命名为原来数据库的名字;停止SQLServer服务,用备份出来的老数据库的MDF文件替换新数据库相应的MDF文件,并把新数据库相应的LDF文件删除;重新启动SQLServer服务,然后运行命令;停止SQL然后重新启动SQLServer服务,然后运行命令;运行hbfsv检查数据库的完整性;进行数据库修复;修复成功后,返回多用户模式。

  ⑻数据库置疑了怎么处理

  ⑼解决由于sql日志文件引起的“置疑”。

  ⑽日志有错误--------重新附加提示日志有错误。

  ⑾日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。

  ⑿备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。

  ⒀打开企业管理器(SQLServerEnterpriseManager,删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。

  ⒁在企业管理器中,新建同名数据库(假如数据库为test,注意建立的数据库名称,还有数据文件名要保持和原数据库一致。

  ⒂将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

  ⒃启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

  ⒄设置数据库允许直接操作系统表。此操作可以在企业管理器(SQLServerEnterpriseManager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

  ⒅sp_configure’allowupdates’,

  ⒆reconfigurewithoverride

  ⒇设置test为紧急修复模式。

  ⒈updatesetstatus=-wheredbid=DB_ID(’test’)

  ⒉此时可以在企业管理器(SQLServerEnterpriseManager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表。

  ⒊下面执行真正的恢复操作,用dbrebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来。

  ⒋dbrebuild_log(’test’,’C:ProgramFilesMicrosoftSQLServerMSSQLData est_log.ldf’)

  ⒌执行过程中,如果遇到下列提示信息:

  ⒍服务器:消息,级别,状态,行

  ⒎未能排它地锁定数据库以执行该操作。

  ⒏DB执行完毕。如果DB输出了错误信息,请与系统管理员联系。

  ⒐说明您的其他程序正在使用该数据库,如果刚才您在八步骤中使用企业管理器打开了test库的系统表,那么退出企业管理器就可以了。

  ⒑正确执行完成的提示应该类似于:

  ⒒警告:数据库’test’的日志已重建。已失去事务的一致性。应运行DBCHECKDB以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。

  ⒓DB执行完毕。如果DB输出了错误信息,请与系统管理员联系。

  ⒔此时打开在企业管理器里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

  ⒕验证数据库一致性。(次步骤可省略

  ⒖dbcheckdb(’test’)

  ⒗CHECKDB发现了个分配错误和个一致性错误(在数据库’test’中。

  ⒘DB执行完毕。如果DB输出了错误信息,请与系统管理员联系。

  ⒙设置数据库为正常状态

  ⒚sp_dboption’test’,’dbouseonly’,’false’

  ⒛如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

  最后一步,我们要将步骤七中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在企业管理器里面恢复,也可以使用如下语句完成

  sp_configure’allowupdates’,

  reconfigurewithoverride

  对于只有.mdf文件的sql数据库恢复,从第三步开始做就行了。

  最好的方法为先分离然后附加看下

  .我们SQLSERVER企业管理器新建立一个供恢复使用的同名数据库(注意:要跟问题数据库同名,本例中为myDb)。

  .停掉数据库服务器。

  .将刚才生成的数据库的日志文件myDb_log.ldf删除(本例中的示列数据库名,实际使用您自己的数据库名称,用刚才备份的数据库mdf文件覆盖新生成的数据库数据文件myDb_data.mdf。

  .启动数据库服务器。此时会看到数据库myDb的状态为“置疑”。这时候不能对此数据库进行任何操作。

  .设置数据库允许直接操作系统表。此操作可以在SQLServerEnterpriseManager里面选择数据库服务器,按右--键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

  sp_configure’allowupdates’,

  reconfigurewithoverride

  goF.设置myDb为紧急修复模式

  在查询管理器里设置如下命令:

  updatesetstatus=-wheredbid=DB_ID(’stib’)此时可以在SQLServerEnterpriseManager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表

  .下面执行真正的恢复操作,重建数据库日志文件

  dbrebuild_log(’stib’,’E:zzstib_log.ldf’)警告:数据库’myDb’的日志已重建。已失去事务的一致性。应运行DBCHECKDB以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。

  DB执行完毕。如果DB输出了错误信息,请与系统管理员联系。

  此时打开在SQLServerEnterpriseManager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

  .验证数据库一致性(可省略

  dbcheckdb(’stib’)一般执行结果如下:

  CHECKDB发现了个分配错误和个一致性错误(在数据库’myDb’中。

  DB执行完毕。如果DB输出了错误信息,请与系统管理员联系。

  sp_dboption’stib’,’singleuser’,’true’--设置为单用户

  dbcheckdb(’stib’,’REPAIR_ALLOW_DATA_LOSS’)--这个语句可能执行几遍之后有效

  sp_dboption’stib’,’singleuser’,’false’--取消单用户

  .设置数据库为正常状态

  sp_dboption’stib’,’dbouseonly’,’false’

  .最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQLServerEnterpriseManager里面恢复,也可以使用如下语句完成

  sp_configure’allowupdates’,

  reconfigurewithoverride

  到此数据库置疑问题解决。

您可能感兴趣的文章:

相关文章