Restore

使用 AlwaysOn 將 PROD 數據庫恢復到 QA

  • November 13, 2017

我想創建一個腳本/作業,它將每週執行以備份我的 PROD 數據庫,並將其還原到我的 QA 伺服器,然後對其執行自定義維護腳本以清理和準備要分析的數據。

問題是我的 QA 伺服器正在執行 AlwaysOn 可用性組。如果可以提供幫助,我可以訪問 Powershell、“DBATools.io”腳本、SQL Server 代理和遠端 SQL 伺服器。全部在 SQL2016 下。

我今天還剛剛發現了名為 AUTOMATIC SEEDING 的 SQL2016 功能。我試過了,它允許我繞過複雜的“將數據庫添加到 AG”步驟。

因此,到目前為止,我可以將步驟簡化為:

ALTER AVAILABILITY GROUP [SQLQA] REMOVE DATABASE [ProdData];

RESTORE DATABASE [ProdData]
       FROM DISK=N'\\nas\Backup\ProdData.bak'
       WITH FILE=1, NOUNLOAD, REPLACE, STATS=5, 
           MOVE N'ProdData' TO N'S:\Data\ProdData.mdf', 
           MOVE N'ProdData_log' TO N'T:\Log\ProdData_Log.LDF';

-- Missing a step here to physically remove the old database from the secondary server, at this point in "Recovery pending". If the old database is still there, the AUTOMATIC SEEDING will not work, nor the manual steps of adding a database to AlwaysOn for that matter.

ALTER AVAILABILITY GROUP [SQLQA] ADD DATABASE [ProdData];

-- Run custom maintenance/cleanup SQL code here

最大的問題是:我有哪些選擇來擺脫舊的二級目標數據庫?

或者,任何人都有一種超級熱門的方法可以輕鬆、自動地將生產數據傳輸到 QA 或 DEV 環境?

提前致謝。

擺脫舊的輔助目標數據庫有哪些選擇?

您可以創建連結伺服器並使用Execute At LinkedServer. 當我必須從 PROD 刷新 Dev / QA 中的 AG env 時,這就是我在目前腳本中所做的事情。

您可以使用 powershell 等 .. 但Execute At LinkedServer可以很好地滿足我的需要。

任何人都有一種超級熱門的方法可以輕鬆、自動地將生產數據傳輸到 QA 或 DEV 環境?

刷新下游環境的腳本特定於公司環境,尤其是。後恢復過程,如脫敏或屏蔽數據等。所以,我想說,投入一些工程時間並使該過程可重複,這將在未來為您節省大量時間。

引用自:https://dba.stackexchange.com/questions/190350