我正在寻找最佳实践,有效的方法。我需要每月将我的生产数据库复制一次到开发中。所以我想尽可能自动化这个过程。
数据库大小约20GB,带日志文件(完全恢复模式)。
如果我需要提供更多详细信息,请与我们联系。
答案 0 :(得分: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