首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >恢复数据库维护计划任务

恢复数据库维护计划任务
EN

Database Administration用户
提问于 2013-07-27 06:03:21
回答 3查看 6.7K关注 0票数 1

我需要安排一个任务,每周从备份中恢复一次数据库。我已经设置了备份数据库的维护计划(管理>维护计划),但无法找到如何进行还原任务--这需要执行Task语句任务,还是有工具箱项?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2013-07-27 16:14:36

维护计划中没有“还原DB任务”。您必须使用Execute T-SQL Statement Task。在该任务中,在task语句中添加一个还原脚本。简单的例子:

代码语言:javascript
复制
RESTORE DATABASE YourDBName FROM DISK = 'D:\DBbackups\YourDB.BAK'
WITH REPLACE
GO

然后为每周执行创建一个时间表。希望这是业务所需要的,因为您正在覆盖一个DB。

票数 6
EN

Database Administration用户

发布于 2013-07-27 16:11:43

就像乔恩说的,在维修计划中没有什么能做到这一点。

我假设您希望复制用于暂存或开发环境的数据库的当前状态,而不是寻找类似日志传送之类的内容。如果是这样的话,您可以在任务调度程序中使用批处理和task执行类似的操作:

代码语言:javascript
复制
ECHO ON

set backupscript=c:\path\backup.sql
set restorescript=c:\path\restore.sql

set backupstore=\\server\share
set restorestore=\\server\share

set backupserver=server\inst
set restoreserver=server\inst


sqlcmd -E -S%backupserver% -i "%backupscript%"
copy "%backupstore%\*" %restorestore%
sqlcmd -E -S%restoreserver% -i "%restorescript%"
票数 4
EN

Database Administration用户

发布于 2013-07-27 13:29:49

在维护计划中没有任何东西可以做到这一点。

但是,交易日志运输是内置/支持的,它提供了一种在两个地方保存数据库副本的方法。它是在考虑灾难恢复的情况下构建的,但是您没有理由不能将其用于您的目的(除了最初使用日志传送所固有的需求和限制之外)。它甚至可能比每周进行一次完全恢复更有效。

如果日志传送不合适,您要么需要找到其他人的解决方案,要么自己滚。您也可以查看内建解决方案,如复制(特别是快照复制),但这可能过于复杂,以满足您的需要。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/47143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档