我想创建一个每周运行的脚本/作业来备份我的 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 环境?
提前致谢。