使用旧的.MDF文件附加数据库,但当前.LDF文件

时间:2015-06-03 23:00:21

标签: sql sql-server backup database-restore

我在2天前备份了一个数据库(但我只有.mdf文件,而不是.ldf文件)。

我现在想在同一台服务器上使用该.mdf文件创建一个不同的数据库(所以我可以比较现在和2天前的数据)。这是否可能没有2天前的.ldf文件,但拥有当前的.ldf文件?如果我可以使用当前的.ldf文件,我应该使用当前数据库引用的文件副本吗?

或者我应该忘记当前的.ldf文件并尝试在没有它的情况下进行恢复,每Attaching an MDF file without LDF file

1 个答案:

答案 0 :(得分:2)

如果备份数据库,最好的办法是从.bak文件恢复。虽然可以在没有相应日志的情况下恢复.mdf,但它绝不是一个肯定的赌注,它实际上取决于state of the database。您可以尝试Attaching an MDF file without LDF file中的选项,如果这不起作用,您可能需要使用EMERGENCY command(请记住,这是最后的手段):

USE [master] 
GO 
ALTER DATABASE [MyDatabase] SET EMERGENCY 
GO 
ALTER DATABASE [MyDatabase] SET SINGLE_USER 
GO 
DBCC CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS) 
GO 
ALTER DATABASE [MyDatabase] SET MULTI_USER 
GO 
ALTER DATABASE [MyDatabase] SET ONLINE 
GO