Mar*_*ord 0 .net sql sql-server
我运行一个软件平台,正在考虑建立一个演示站点,以便人们可以登录到假装站点并编辑数据等...
但是我希望数据库'重置'每'x小时/天'有没有办法sql server可以自己做?否则,我将不得不编写应用程序来恢复所有表数据,这将需要大量的工作.
谢谢
是的,您创建了一个"干净"状态的数据库快照,然后每小时从干净快照恢复"脏"数据库.看到:
虽然还存在其他方法(备份/恢复,分离/附加和复制文件等),但基于快照的方法可能是最快的,因为快照在文件系统上是不同的(它们使用稀疏文件).如果处于"干净"状态的数据库非常小(表中没有数据)但是在一小时内它变得更大,那么依赖普通备份/恢复可能更简单或更快.
数据库快照仅在SQL Server企业版中可用,因此如果您的演示使用较低版本(标准版,Web版,快速版),则必须使用备份/恢复或基于附加/分离和文件副本的解决方案.
基于附加/分离文件副本的解决方案示例:
clean_db.mdf和clean_db_log.ldf.dirty1_db.mdf和dirty1_db_log.ldfclean_db.mdf到dirty2_db.mdf和clean_db_log.ldf到dirty2_db_log.ldfsp_detach_db '<dbname>';sp_attach_db '<dbname>', 'dirty2_db.mdf', 'dirty2_db_log.ldf';dirty1_db.mdf和dirty1_db_log.ldf 此过程通过在分离/附加操作之前复制干净文件来减少分离和附加之间的停机时间.
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |