寻找从生产 Azure SQL 数据库刷新 QA/测试 Azure SQL 数据库的最佳实践
生产数据库位于不同的服务器和资源组上。所以只是想知道将生产数据放入 qa/测试数据库的最佳方法。哪些工具可用于此类任务?
SQL Azure 数据库最常见的格式是 bacpac,当我告诉你它很棒时,请相信我。
出口
执行此操作的最简单方法是使用 Azure 门户或 SSMS。
但是,这将复制整个数据库架构和所有数据。如果您需要更具体的内容,例如排除表,只需查看sqlpackage.exe即可。
.sqlpackage.exe /Action:Export /ssn:SERVER /sdn:ADB /tf:"C:PATHTOFILE.bacpac" /of /p:TableData=TABLE /p:TableData=TABLE /p:TableData=TABLE
进口
要从上面创建的.bacpac
创建数据库,上述所有三种方法也支持导入。
建议
我会在这里应用 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' );