牛立医药综合管理系统数据库质疑后,拷贝原来文件附加数据库提示:
这种情况是数据库的日志文件(
LDF)数据不同步造成的,可以根据数据库
MDF文件重建日志文件修复。
以下是详细步骤,有颜色标注的部分应该按本机的实际名称进行修改。
假设损坏的数据库名称是qx2015sm,对应的数据库名称是qx2015sm.MDF,日志文件是qx2015sm_Log.LDF,数据库所在文件夹为D:\牛立医药综合管理系统\data\qx2015sm;
1、先把损坏的数据库对应的文件
qx2015sm_Log.LDF和
qx2015sm_Log.LDF备份到别的地方;
2、在
SQL Server和企业管理器中创建一个与损坏数据库同名的数据库,对应的数据库文件名称也是
qx2015sm
_Data.MDF和
qx2015sm_Log.LDF或者在
牛立医药综合管理系统建立一个名称相同的帐套;
3、停止
SQL Server服务;
4、删除第2步新建数据库产生的
qx2015sm
_Data.MDF文件;
5、用损坏的数据库数据文件
qx2015sm
_Data.MDF覆盖第2步新建数据库产生的
qx2015sm_Data.MDF文件
6、启动
SQL Server服务;
7、进入企业管理器,刷新数据库状态,此时数据库
qx2015sm状态为“
置疑”;
8、在
SQL Server服务器属性中设置
SQL Server数据库服务器“
允许对系统目录直接修改”
9、从
SQL企业管理器的“
工具”菜单启动“
SQL 查询分析器”;
10、输入以下代码并运行使
qx2015sm数据库进入紧急修复模式:
update sysdatabases set status=-32768 where dbid=DB_ID('qx2015sm')
这句语句执行后,刷新企业管理器,
qx2015sm数据库的状态变成“
只读\置疑\脱机\紧急模式”。
11、输入以下语句并执行重建日志文件;
dbcc rebuild_log('qx2015sm','D:\日晟医药综合管理系统\data\qx2015sm_Log.LDF')
这句语句执行后,刷新企业管理器,
qx2015sm数据库的状态变成“
只供DBO使用”。
12、输入并执行正面的语句设置数据库
qx2015sm到正常状态;
dbcc checkdb('qx2015sm')
exec sp_dboption 'qx2015sm','dbo use only','false'
这句语句执行后,刷新企业管理器,
qx2015sm数据库变成正常状态。
到此,
qx2015sm数据库修复成功。最后不要忘记关闭第8步中打开的“
允许对系统目录直接进行修改”服务器开关。
牛立医药综合管理系统软件
共享此方法,很好用,刚解决了客户的问题