我在2天前备份了一个数据库(但我只有.mdf文件,而不是.ldf文件)。
我现在想在同一台服务器上使用该.mdf文件创建一个不同的数据库(所以我可以比较现在和2天前的数据)。这是否可能没有2天前的.ldf文件,但拥有当前的.ldf文件?如果我可以使用当前的.ldf文件,我应该使用当前数据库引用的文件副本吗?
或者我应该忘记当前的.ldf文件并尝试在没有它的情况下进行恢复,每Attaching an MDF file without LDF file?
答案 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