数据库的ldf日志文件被删了,直接附加时报错:数据库没有完全关闭,无法重新生成日志
那怎么恢复数据呢?方法如下:
在数据库中新建一个同名的数据库(文件路径要与原来的相同,ldf的文件名也要相同),然后停止数据库的运行,再将原先的mdf文件覆盖过去。
然后启动数据库,这时候,数据库会无法访问。
接下来,运行下面的sql语句。再刷新一下,数据库就正常了。
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE mydata SET EMERGENCY
GO
sp_dboption 'mydata', 'single user', 'true'
GO
DBCC CHECKDB('mydata','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE mydata SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'mydata', 'single user', 'false'
GO