2011-08-29 111 views
3

我正在尋找最佳實踐,高效的方法。我需要每個月將我的生產數據庫複製到開發中。所以我想盡可能自動化這個過程。如何創建生產SQL數據庫的副本?

數據庫大小約爲20GB,具有日誌文件(完全恢復模式)。

請讓我知道,如果我需要提供更多的細節。

+0

哪個RDBMS /版本? OS? –

+0

sql server 2008 r2 10.50.1600.1 –

回答

4

希望您可以定期備份數據庫。
所以你基本上只需要採取最新的備份,並在不同的服務器上恢復它(也可能使用不同的數據庫名稱)。

在我的工作場所,我們使用的是MS SQL Server,我們也在做這個:
我們的主數據庫每天晚上9點備份(完全備份)。
每天晚上11點,其他服務器上的SQL Server代理作業會從備份文件夾中獲取最新備份,並將其恢復爲OurMainDatabase_Yesterday

這裏是MS SQL Server的一個示例腳本:

ALTER DATABASE OurMainDatabase_Yesterday SET SINGLE_USER WITH ROLLBACK IMMEDIATE 

USE master 

EXEC sp_detach_db 'OurMainDatabase_Yesterday', 'true' 

-- use today's backup from the main server 
declare @BackupPath as nvarchar(500) 
set @BackupPath = '\\MainServer\backup\OurMainDatabase\OurMainDatabase_backup_' 
    + convert(varchar(10),getdate(),112) + '2100.BAK' 

RESTORE DATABASE OurMainDatabase_Yesterday 
    FROM DISK = @BackupPath 
    WITH MOVE 'OurMainDatabase_Data' 
    TO 'F:\Data\OurMainDatabase_Yesterday_Data.mdf', 
    MOVE 'OurMainDatabase_Log' 
    TO 'G:\Logs\OurMainDatabase_Yesterday_Log.ldf', 
    REPLACE 

ALTER DATABASE OurMainDatabase_Yesterday SET MULTI_USER 
+0

如何創建自動備份?我可以使用代理作業嗎? –

+0

是的,您可以創建維護計劃以進行備份。看到這個視頻:http://technet.microsoft.com/en-us/sqlserver/Video/dd430301 –

相關問題