将 Azure SQL 数据库的备份还原到另一个资源组中的另一个 Azure SQL 数据库。

4
我需要将生产数据库的所有数据迁移到其暂存版本。这两个数据库是来自2个不同资源组的Azure SQL数据库。
我已阅读一些指南,了解如何通过导出和导入.bacpac文件来实现此目的,但这种方法不允许导入到现有数据库中。
我正在寻找一种方法在不创建新数据库的情况下迁移数据,而是针对已存在的数据库进行操作。
2个回答

3
Azure SQL数据库没有像SQL Server中那样我们所知道的备份和还原(带有REPLACE选项)。我们也无法将数据库导出并导入到现有数据库中。
您可以使用新名称进行导入,然后删除现有数据库,并将导入的数据库名称重命名为已删除的数据库名称。
您还可以使用Azure SQL数据同步的初始同步将所有数据从一个数据库迁移到另一个数据库。不仅您的数据库可以位于不同的资源组中,还可以位于不同的订阅中。空数据库上的初始同步运行更快。

-1

如果这是一次性任务,您可以使用SMMS导出您的数据库并将其恢复到另一个服务器/新的数据库。

您还可以频繁备份并将它们存储为.bak文件到Azure存储帐户中,并从中进行恢复。您可以使用类似于此处所提供的自动化运行簿/PowerShell脚本:

https://www.powershellgallery.com/packages/Backup-SQLAzureDb/0.2.0

如果两个数据库都在Azure SQL上,你可以使用简单的PowerShell命令直接复制到新的服务器

New-AzSqlDatabaseCopy -ResourceGroupName "<resourceGroup>" -ServerName $sourceserver -DatabaseName "<databaseName>" `
    -CopyResourceGroupName "myResourceGroup" -CopyServerName $targetserver -CopyDatabaseName "CopyOfMySampleDatabase"

New-AzSqlDatabaseCopy -ResourceGroupName "<resourceGroup>" -ServerName $sourceserver -DatabaseName "<databaseName>" `
    -CopyResourceGroupName "myResourceGroup" -CopyServerName $targetserver -CopyDatabaseName "CopyOfMySampleDatabase"

或者使用一份 TSQL 命令的副本:

CREATE DATABASE Database2 AS COPY OF server1.Database1;

点击此处了解详情


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接