【发布时间】:2018-05-29 21:05:42
【问题描述】:
寻找从生产 Azure SQL 数据库刷新 QA/测试 Azure SQL 数据库的最佳实践
生产数据库位于不同的服务器和资源组。所以只是想知道将生产数据放入 qa/testing 数据库的最佳方法。有哪些工具可用于此类任务?
【问题讨论】:
标签: azure-sql-database azure-sql-server bacpac
寻找从生产 Azure SQL 数据库刷新 QA/测试 Azure SQL 数据库的最佳实践
生产数据库位于不同的服务器和资源组。所以只是想知道将生产数据放入 qa/testing 数据库的最佳方法。有哪些工具可用于此类任务?
【问题讨论】:
标签: azure-sql-database azure-sql-server bacpac
SQL Azure 数据库最常见的格式是bacpac,当我告诉你它很棒时相信我。
最简单的方法是使用Azure Portal 或SSMS。
但是,这将复制整个数据库架构和所有数据。如果您需要更具体的内容,例如排除表格,请查看sqlpackage.exe。
.\sqlpackage.exe /Action:Export /ssn:SERVER /sdn:ADB /tf:"C:\PATH\TO\FILE.bacpac" /of /p:TableData=TABLE /p:TableData=TABLE /p:TableData=TABLE
要从上面创建的.bacpac 创建数据库,上述三种方法都支持importing。
我会在这里应用KISS 原则,并且只在两端使用门户/SSMS。删除您不再需要/不需要的特定表。
【讨论】:
您只需要使用门户或 PowerShell 复制生产数据库
New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" `
-ServerName $sourceserver `
-DatabaseName "MySampleDatabase" `
-CopyResourceGroupName "myResourceGroup" `
-CopyServerName $targetserver `
-CopyDatabaseName "CopyOfMySampleDatabase"
您还可以通过使用 Azure 自动化和以下 T-SQL 语句重新创建开发数据库来自动刷新它。
CREATE DATABASE db_copy
AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );
【讨论】: