2024年9月sql数据库置疑修复(sql2005数据库可疑状态如何解决!急!!!(sql数据库可疑解决办法))
⑴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
到此数据库置疑问题解决。