繁体   English   中英

每小时自动恢复数据库的最佳方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM