当前位置:文档之家› SQL数据库置疑重附加失败解决方法

SQL数据库置疑重附加失败解决方法

使用财务软件或其他需要SQL数据库的时常会因为主机突然断电或非正常的强制关机造成软件使用不了,经查是数据库被置疑所致。

一般分离后重新附加即可。

但大部分会提示事务日志出错,分离后就不能重新附加了。

那数据怎么办?
本文教你如何重新附加提示事务日志错误的数据库。

工具/原料
MS SQL2000
修复方法
打开SQL企业管理器
按序打开,开始--所有程序(或程序)--Microsoft SQL Server--企业管理器打开后按序点+号展开直到数据库
右键显示置疑的数据库--所有任务--分离数据库。

弹出对话框点击确定。

注,先记住数据库名。

分离有时候会提示分离失败,右键随便一个数据库--刷新,就可以看到已经没了。

找到该置疑数据库的源文件,剪切到其他文件夹黏贴。

注,一般是同名的两个文件,后缀为*.mdf和*.ldf。

返回企业管理器新建一个同名的数据库名
右键随便一个数据库--新建数据库
弹出对话框中名称输入数据库名
然后点击上方选项卡数据文件,点后面的位置下的省略号选择存放路径,并把文件名改成和置疑数据库源文件名一样,然后确定
再点击上门选项卡事务日志,一样操作后确定。

停止SQL服务
右键数据库上的服务器名--停止,弹出提示点是。

打开新建数据库所在路径,把之前备份的置疑数据库的源文件.MDF后缀的复制过来覆盖,删掉新建数据库的后缀LDF的源文件。

启动SQL
右键数据库的服务器名--启动。

设置数据库允许直接操作系统表
点击上方的工具--SQL查询分析器--输入下列语句
sp_configure 'allow updates',1 reconfigure with override
点击上方竖三角号执行(或按F5)
或右键选择数据库服务器--属性--服务器设置,将“允许对系统目录直接修改”打钩,确定。

设置要修复的数据库为紧急修复模式
删掉之前的语句,输入下列语句
update sysdatabases set status=32768 where name='数据库名'
注,数据库名记得改成你实际的。

点击上方竖三角号执行(或按F5)
重建数据库日志文件
删掉之前的语句(也可再前面语句前输入--),输入下列语句DBCC TRACEON (3604)
DBCC rebuild_log('数据库名','数据库路径\数据库名.ldf')注,数据库名和日志文件按实际修改。

点击上方竖三角号执行(或按F5)
提示如图视为成功
验证数据库一致性(虽然可以省略但是不易建议跳过)
删掉之前的语句(也可再前面语句前输入--),输入下列语句dbcc checkdb('数据库名')
注,数据库名按实际修改。

点击上方竖三角号执行(或按F5)
设置数据库为恢复正常状态
删掉之前的语句(也可再前面语句前输入--),输入下列语句update sysdatabases set status=0 where name='数据库名' 注,数据库名按实际修改。

点击上方竖三角号执行(或按F5)
设置数据库‘允许直接操作系统表’取消
点击上方的工具--SQL查询分析器--输入下列语句
sp_configure 'allow updates',0 reconfigure with override
点击上方竖三角号执行(或按F5)
或右键选择数据库服务器--属性--服务器设置,将“允许对系统目录直接修改”打钩取消,确定。

重启SQL。

注意事项
1.请一定要先把置疑数据库的源文件拷贝一份起来。

2.新建数据库时候数据库名和数据库源文件名及存放路径一定要一样。

3.输入命令语句一定要正确,语句中的数据库名要改为实际的。

4.如果此文章对你有帮助,请不要忘记点击下方的投票,或填写有得。

你的点击是我们分享经验的动力!如果转载请注明处
如果您想要了解更多关于管家婆软件的信息,想要更好的运用软件,想要解决公司面临的管理问题,可以联系我们!
公司地址:广东省深圳市宝安区沙井时代中心21E
深圳市协同软件科技有限公司。

相关主题