我们有两个sql数据库,测试和生产,托管在Microsoft Azure上。两个数据库都具有相同的模式。是否有自动或一键式方法将生产数据库中的所有数据复制到测试数据库中。每当我们制作新功能时,我们希望能够使用最新的生产数据对其进行测试,而无需在生产数据库上对其进行测试。
任何数量的初始设置都可以,但理想情况下,最终结果是按下按钮并完成复制。
如果需要事先擦除测试数据库,则可以。
如果在Azure上无法做到这一点,那么获得此结果的下一个最佳选择是什么?
答案 0 :(得分:0)
您只需使用the portal或PowerShell
复制数据库New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" `
-ServerName $sourceserver `
-DatabaseName "MySampleDatabase" `
-CopyResourceGroupName "myResourceGroup" `
-CopyServerName $targetserver `
-CopyDatabaseName "CopyOfMySampleDatabase"
您还可以使用Azure Automation和以下T-SQL语句重新创建开发数据库,从而自动刷新开发数据库。
CREATE DATABASE db_copy
AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );
答案 1 :(得分:0)
您可以通过连接到生产数据库来运行以下查询:创建数据库[new_db]作为[prod_db]的副本;
您还可以使用数据库副本API /来自门户,甚至可以发布Point及时还原生产数据库。我建议这样做,因为它对现有生产数据库的影响最小,但可能需要比数据库副本更长的时间。