我有一个开发、测试和生产环境,所有环境都存储在不同的 AzureSQL Server 和资源组上。我的任务是将所有数据从开发复制到测试(以及后来的生产,但现在先测试)。我正在使用 alembic 来复制结构,但我需要一些解决方案来复制数据。
我有自己的 python 脚本解决方案,但这有点容易出错,我更喜欢标准化的解决方案...(由于 FK 限制等原因,脚本并不总是正常工作)
有没有自动化的软件解决方案?我想到了 azure-migrate,但微软说它是从本地服务器传输数据,并且需要手动配置数据工厂管道。
将来我也可能需要频繁地将数据从产品传输到开发/测试以更新数据以用于开发目的。
您可以删除测试环境的特定数据库。然后您可以使用 PowerShell、门户或 T-SQL 创建生产数据库的副本。
您可以使用PowerShell,如下所示:
New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" `
-ServerName $sourceserver `
-DatabaseName "MySampleDatabase" `
-CopyResourceGroupName "myResourceGroup" `
-CopyServerName $targetserver `
-CopyDatabaseName "CopyOfMySampleDatabase"
您可以使用T-SQL,如下所示:
CREATE DATABASE db_copy
AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'S6' );
您可以使用 PowerShell/T-SQL 和 Azure 自动化帐户安排刷新环境。
作为参考,这里我回答过类似的问题