sqlserver无ldf日志文件附加的方法(数据库没有完全关闭,无法重新生成日志)

时间:2022-03-30 17:18:16

数据库的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