||
附加数据库时提示:“SQL Server数据库错误9003(LSN无效)”
问题描述:附加数据库时提示:“SQL Server数据库错误9003(LSN无效)”
解决方法:这种情况是数据库的日志文件(LDF)数据不同步造成的,可以根据数据库MDF文件重建日志文件修复。
以下是详细步骤: 假设损坏的数据库名称是UFDATA_001_2012,对应的数据库名称是UFDATA_001_2012.MDF,日志文件是UFDATA_001_2012.LDF,数据库所在文件夹为D:GRASP366+Data1.先把损坏的数据库对应的文件UFDATA_001_2012.MDF和UFDATA_001_2012.LDF备份到'D:\MYDATA';
2、在SQL Server和企业管理器中创建一个与损坏数据库同名的数据库,对应的数据库文件名称也是UFDATA_001_2012.MDF和UFDATA_001_2012.LDF、停止SQL Server服务;
4、删除第2步新建数据库产生的UFDATA_001_2012.LDF文件;
5、用损坏的数据库数据文件UFDATA_001_2012.MDF覆盖第2步新建数据库产生的UFDATA_001_2012.MDF文件
6、启动SQL Server服务;
7、进入企业管理器,刷新数据库状态,此时数据库UFDATA_001_2012状态为“置疑”;
8、在SQL Server服务器属性中设置SQL Server数据库服务器“允许对系统目录直接修改”
9、从SQL企业管理器的“工具”菜单启动“SQL 查询分析器”;
10、输入以下代码并运行使UFDATA_001_2012数据库进入紧急修复模式:
update sysdatabases set status=-32768 where dbid=DB_ID('UFDATA_001_2012')
这句语句执行后,刷新企业管理器,UFDATA_001_2012数据库的状态变成“只读置疑脱机紧急模式”。
11、输入以下语句并执行重建日志文件;
dbcc rebuild_log('UFDATA_001_2012','D:\MYDATA\UFDATA_001_2012.LDF')
这句语句执行后,刷新企业管理器,UFDATA_001_2012数据库的状态变成“只供DBO使用”。
12、输入并执行正面的语句设置数据库UFDATA_001_2012到正常状态;
exec sp_dboption 'UFDATA_001_2012','dbo use only','false'?
这句语句执行后,刷新企业管理器,UFDATA_001_2012数据库变成正常状态。
?到此,UFDATA_001_2012数据库修复成功。
最后不要忘记关闭第8步中打开的“允许对系统目录直接进行修改”服务器开关。
|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )
GMT+8, 2024-5-11 18:06 , Processed in 0.017519 second(s), 10 queries , Gzip On, Redis On.
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.