[英]Best way to auto-restore a database every hour
我有一个演示站点,任何人都可以登录并测试管理界面。
我想每小时刷新SQL 2008数据库中的所有数据并从原始数据中恢复它。
Red Gate Software有一些很棒的工具,但是它们现在超出了我的预算。
我可以简单地制作数据库数据文件的备份副本,然后使用ac#console app删除它并复制原始文件。 然后我可以有一个Windows计划任务每小时运行.exe。
这很简单而且免费......这会有用吗?
我正在使用SQL Server 2008 R2 Web版
我知道Red Gate Software在技术上更好,因为我可以设置它来分析数据库,只更新已更改的记录,我上面的方法就像一个“大锤”。
这很简单而且免费......这会有用吗?
是的,您可以这样做,只需记住在恢复数据库之前将数据库置于单用户模式,否则您的恢复将失败
示例脚本
USE master
GO
ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE YourDB FROM DISK=N'D:\Backup\Pristine.BAK' WITH FILE = 1,
NOUNLOAD, REPLACE, STATS = 10
GO
ALTER DATABASE YourDB SET MULTI_USER
GO
这可以使用SQL编写脚本并作为服务器上的作业安排,每小时执行一次。 由于您有备份副本,我认为,这是原始的,然后您需要做的就是使数据库脱机,从备份还原,使数据库重新联机。 所有这些都可以编写脚本。 你需要脚本吗?
您还可以分离数据库,覆盖模板中的数据和日志文件(先前已分离),然后重新附加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.