题
我们希望能够每晚制作生产数据库的副本/备份/快照,以便我们可以将其导入开发环境中。
我们不想将日志发送到开发环境,因为它需要我们可以在任何时候重置为生产数据库的最后一个副本。
我们需要能够清除某些日志记录和/或其他无用或沉重的表,这些表只会使副本膨胀。
我们更喜欢附加/分离方法,而不是诸如 sql server 发布向导之类的方法,因为附加比导入快得多。
我应该提到我们只有 SQL Server Standard,因此某些功能将不可用。
最好的方法是什么?
解决方案
我想说在 SQL 代理作业中使用这些过程(使用 master.xp_cmdshell 执行复制)。
其他提示
您可能希望将大型表放在自己的分区上,并让该分区属于不同的文件组。您将备份然后备份并恢复主文件组。
您可能还想考虑进行增量备份。比如说,每个周末进行一次完整备份,每晚进行一次增量备份。我还没有做过文件组备份,所以我不知道这些是否可以很好地协同工作。
我猜您已经在定期备份生产数据库了?如果不是,请停止阅读此回复并立即进行设置。
我建议您编写一个自动运行的脚本(例如每天一次):
- 删除当前的测试数据库。
- 将当前生产备份恢复到测试环境。
您可以编写一个简单的脚本来执行此操作,并使用 isql.exe 命令行工具执行它。
不隶属于 StackOverflow