我將數據庫(Sql 2005 Express)的mdf和ldf複製到我的機器上,並在我的Sql 2005(Developer Edition)中附加了它們。由於我需要研究一個問題,因此我已經將源機器中的日誌記錄設置爲完整。恢復到某個時間點
現在,在我的SQL Server中,我有2個數據庫,我剛剛附加的DAProd和我剛剛創建的DARestore。我想用DAProd的時間點版本恢復DARestore。當我彈出恢復對話框時,它不會在來源下拉菜單中顯示DAProd。任何指針將不勝感激。
謝謝。
我將數據庫(Sql 2005 Express)的mdf和ldf複製到我的機器上,並在我的Sql 2005(Developer Edition)中附加了它們。由於我需要研究一個問題,因此我已經將源機器中的日誌記錄設置爲完整。恢復到某個時間點
現在,在我的SQL Server中,我有2個數據庫,我剛剛附加的DAProd和我剛剛創建的DARestore。我想用DAProd的時間點版本恢復DARestore。當我彈出恢復對話框時,它不會在來源下拉菜單中顯示DAProd。任何指針將不勝感激。
謝謝。
我假設你有DAProd的備份(完全和日誌)。您不需要附加DAProd副本,備份過程就可以爲您創建「複製」數據庫。但是,如果你確實附加了它,沒關係。
首先你運行你最近DAProd的完全備份比當下年長及時的恢復要停止恢復:
RESTORE DATABASE [DAProd] FROM DISK = '<yourfullbackup>' WITH NORECOVERY;
下次啓動恢復的日誌備份後發生完全備份,但仍先於時間的那一刻,一個接一個:
RESTORE LOG [DAprod] FROM DISK = 'yournextlog' WITH NORECOVERY;
現在您還原包含時間中的時刻日誌要停止:
RESTORE LOG [DAProd] FROM DISK = 'yournextlog' WITH STOPAT = '<timetostop';
最後一步是將DAProd數據庫聯機。順便說一句,這將回滾任何在您的時間在飛行中的未提交的交易:
ALTER DATABASE [DAProd] SET ONLINE;
現在,您可以查看數據庫,因爲它是在那一刻在你希望的時間,因爲是否會在那一刻回滾任何未決的事務。
爲了執行時間點恢復,您需要DAProd的各種時間點備份,而不是當前的數據庫副本重新連接。
請參見How to: Restore to a Point in Time (SQL Server Management Studio)
How to: Restore a Database Backup (SQL Server Management Studio)
你的問題沒有多大意義。您需要DAProd的各種時間點備份,而不是當前的數據庫副本重新連接。 – 2009-07-22 03:05:41
我是這個新手。所以在運行DA Prod的機器上,當我設置完成後,我將恢復設置爲完全。一個月後,我創建了一個完整備份並將其移至我的開發機器。我假設這將有必要的數據庫和日誌備份恢復到某個時間點? 在SQL Server管理控制檯中,當我打開一個新的查詢時,哪個db讓我選擇運行你的語句? – Maky29 2009-07-22 19:16:15