快照功能的替代方案,SQL Server Standard

时间:2011-03-14 14:17:27

标签: sql-server database testing sql-server-2008-r2 snapshot

出于测试目的,我想将完整的数据库重置为某种状态(数据和结构)。我想自动完成这项工作。在我开始测试之前,最好是命令行指令。

经过一番搜索,我发现SQL Server为此提供了一个很好的解决方案。快照。编写测试查询后,我发现SQL Server的标准版不支持这一点。 : - (

鉴于我希望自动化这一事实:我的选择是什么?立即覆盖数据文件对我来说听起来不是一个好选择...

其他一些信息:

  • Windows 7
  • Microsoft SQL Server标准版(64位),10.50.1600.1
  • 数据库大小是app。 1千兆字节
  • 这仅用于测试。因此,当我返回“快照”时,其他用户不会使用该数据库。
  • 有关快照的更多信息:

提前谢谢!

4 个答案:

答案 0 :(得分:6)

如果您是出于测试目的而执行此操作,则可以使用Developer Edition

  

SQL Server 2008 Developer包含Enterprise Edition的所有功能,但仅授权用于开发,测试和演示。

答案 1 :(得分:5)

分离MDF文件,将其复制到某处,重新附加。

如果要重置数据库,请取消MDF,将旧版本复制到顶部,然后重新附加。

或者备份和恢复。

答案 2 :(得分:3)

我自制了这样的解决方案,因为我对复制的运行方式不满意(我也使用标准版) - 也许我的解决方案会引导您朝着正确的方向前进:

http://trycatchfinally.net/2009/09/moving-a-sql-server-database-to-another-server-on-a-schedule-without-using-replication/

基本上,它需要定期备份,拉链,FTP到某处,远程服务器检查新文件,提取它们,还原它们,然后通过电子邮件通知您,以便让您知道新的副本已经恢复。

答案 3 :(得分:1)

对于测试,您可以使用具有快照且非常便宜的Developers Edition。但是,我们更喜欢从源代码控制中的脚本构建一个新的测试数据库 - 这使我们可以轻松确定更改,在任何盒子上快速推出测试系统,并为我们节省大量时间。