2010-01-20 62 views
1

我一直在使用這個查詢:選擇性還原數據庫

BACKUP DATABASE RentalEase 
TO DISK = 'C:\RentalEaseBackup\RentalEase.bak' 
WITH COPY_ONLY; 
GO 

備份我的數據庫。有人刪除了一些東西,所以現在我必須從以前的時間點恢復它,但是我不想覆蓋新的更改(除了刪除)。

我想我能做到這一點的附加備份到SQL Server作爲一個新的數據庫,然後進行必要的查詢,以在移動幾刪除的行。但是,它不會附加RentalEase.bak文件,因爲它說它不是主數據庫文件。

我怎樣才能連接數據庫的備份,所以我可以針對它運行的SQL查詢?

回答

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' 

Full syntax here

0

創建一個名爲RentalEase2新的數據庫,恢復應該是這樣的

RESTORE DATABASE [RentalEase2] FROM DISK = N'C:\RentalEaseBackup\RentalEase.bak' 
WITH FILE = 1, NOUNLOAD, STATS = 10 
GO 
+0

不會'這覆蓋現有的數據庫? – 2010-01-20 18:02:28

+0

所以創建一個新的數據庫 – SQLMenace 2010-01-20 18:09:08

2

將數據庫還原到不同的數據庫名稱,然後你可以做任何你想做的兩個數據庫之間(祝你好運!)