开发者

Alternatives to snapshot functionality, SQL Server Standard

For testing purposes I would like to reset a complete database to a certain state (data and structure). I would like to do this automated. Preferably a command line instruction before I start my tests.

After some searching I discovered that SQL Server offers an great solution for this. Snapshots. After writing a test query I discovered that the standard edition of SQL Server does NOT support this. :-(

Given the fact that I want this to be automated: what are my options? Overwriting the data f开发者_StackOverflow社区iles immediately doesn't sound like a good option to me...

Some other information:

  • Windows 7
  • Microsoft SQL Server Standard Edition (64-bit), 10.50.1600.1
  • Database size is app. 1 gigabyte
  • This is only meant for testing. So the database is NOT used by other users when I'm returning to my 'snapshot'.
  • More information about snapshots:
    • http://msdn.microsoft.com/en-us/library/ms190677.aspx
    • This page also states that the standard edition does not support this. :-(

Thank you in advance!


Detach the MDF file, copy it somewhere, re-attach it.

When you want to reset the database, detatch the MDF, copy the old one over the top, and re-attach it.

Alternatively backup and restore.


If you're doing this for testing purposes, you can use Developer Edition:

SQL Server 2008 Developer includes all of the functionality of Enterprise Edition, but is licensed only for development, test, and demo use.


I homebrewed a solution like this because I wasn't happy with the way replication was running (and I was also using standard edition) - maybe my solution will lead you in the right direction:

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

Basically, it takes a periodic backup, zips it, FTPs it somewhere, and the remote server checks for new files, extracts them, restores them, and then emails you to let you know a new replica has been restored.


For testing, you can use Developers Edition, which has snapshots and is quite cheap. However, we prefer to build a new test database from scripts in source control - that allows us to easily determine the changes, quickly roll out a testing system on any box, and saves us a lot of time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜