2017-05-04 115 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腳本作爲代理作業中的其中一個步驟。所有的作品完美。