2017-05-04 112 views
1

每周一次,我们需要运行一个Azure SQL数据库的还原以替换现有的一个。换句话说,每周一次,我们需要用Azure_DB_1完全替代Azure_DB_2(通过恢复),但保留被替换的数据库的名称为Azure_DB_2。按计划还原Azure SQL数据库

因为Azure SQL Server不支持使用Replace进行恢复,所以我必须先暂时重命名Azure_DB_2。为了实现这一点,我在本地SQL Server上设置了一个代理作业,首先将Azure_DB_2重命名为Azure_DB_2a。然后我想要做的是恢复Azure_DB_1 作为名称 Azure_DB_2。作为最后一步,我将DROP表Azure_DB_2a。

这就是中间步骤,将Azure_DB_1还原为名称Azure_DB_2,这让我有点困惑,因为该如何完成。在Azure Portal内部很容易,但对自动调度无效。

如果可能的话,只需将它作为代理作业中的一个步骤添加即可,但如果我正确读取,似乎我只能通过Powershell脚本执行对Azure SQL数据库的还原,并且不在SSMS内部使用T-SQL?理想情况下,最佳解决方案是将整个流程包含在一个代理作业中。有人可以协助使用T-SQL语法来完成Azure还原吗?

+2

在Azure SQL数据库中没有T-SQL'BACKUP'或'RESTORE'。您是否在SQL Agent作业中尝试了Powershell脚本步骤? –

+0

嗯,PS脚本可以用在代理作业中吗?好的,如果是这种情况,我想我可以让它工作! – Stpete111

+1

是的,SQL Server代理支持PS脚本。您需要安装Azure Cmdlet:https://msdn.microsoft.com/en-us/library/dn135248%28v=nav.70%29.aspx。 –

回答

1

根据Dan Guzman的建议,我添加了Powershell脚本作为代理作业中的其中一个步骤。所有的作品完美。