10

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

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

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

其他一些信息:

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

先感谢您!

4

4 回答 4

6

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

当您要重置数据库时,请分离 MDF,将旧的复制到顶部,然后重新附加它。

或者备份和恢复。

于 2011-03-14T14:45:43.020 回答
6

如果您这样做是出于测试目的,则可以使用Developer Edition

SQL Server 2008 Developer 包含企业版的所有功能,但仅授权用于开发、测试和演示使用。

于 2011-03-14T14:54:23.963 回答
3

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

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

基本上,它需要定期备份、压缩、FTP 到某个地方,然后远程服务器检查新文件、提取它们、恢复它们,然后通过电子邮件通知你一个新的副本已经恢复。

于 2011-03-14T15:30:06.197 回答
1

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

于 2011-03-14T15:17:11.903 回答