我一直在使用此查询:
BACKUP DATABASE RentalEase
TO DISK = 'C:\RentalEaseBackup\RentalEase.bak'
WITH COPY_ONLY;
GO
备份我的数据库。有人删除了某些内容,所以现在我必须从之前的某个时间点恢复它,但是我不想覆盖新的更改(删除除外)。
我在想我能做到这一点,将备份作为新数据库附加到SQL Server,然后执行必要的查询以移动几个已删除的行。但是,它不会附加RentalEase.bak文件,因为它表示它不是主数据库文件。
如何附加数据库备份以便我可以针对它运行SQL查询?
答案 0 :(得分:2)
您必须恢复数据库,不能附加备份文件
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
答案 1 :(得分:2)
将数据库还原到不同的数据库名称,然后您可以在两个数据库之间执行任何操作(祝您好运!)
答案 2 :(得分:0)
创建一个名为RentalEase2的新数据库,恢复将如下所示
RESTORE DATABASE [RentalEase2] FROM DISK = N'C:\RentalEaseBackup\RentalEase.bak'
WITH FILE = 1, NOUNLOAD, STATS = 10
GO