没有帐户凭据的Azure交叉订阅SQL备份

时间:2019-01-12 23:54:58

标签: sql sql-server azure powershell

使用New-AzureRmSqlDatabaseExport,我可以将数据库导出到同一预订中的Blob存储。但是,我想将数据库从订阅A导出到订阅B中的Blob存储中。出于安全原因,公开订阅A Azure帐户凭据是不可接受的。

这可以通过在订阅A中创建新服务器,创建db的副本,然后将新服务器切换到订阅B来实现。这似乎过于复杂,并且会影响订阅A。

如果我为订阅A提供Connect-AzureRmAccount凭据,则下面的代码是可能的,但这不是一个选择。

New-AzureRmSqlDatabaseExport
-ResourceGroupName "SubscriptionA'"
–ServerName "SubscriptionA"
–DatabaseName "SubscriptionA"
–AdministratorLogin "SubscriptionA"
–AdministratorLoginPassword "SubscriptionA"

–StorageKeyType "SubscriptionB"
–StorageKey "SubscriptionB"
-StorageUri "SubscriptionB"

如何使用New-AzureRmSqlDatabaseExport仅提供数据库用户/密码而不提供帐户凭据来实现?

2 个答案:

答案 0 :(得分:0)

运行Azure PowerShell命令要求您登录到Azure。数据库用户仅对数据库具有权限,而他们对Azure Fabric没有任何权限,这就是您要在此处使用的权限。

如果必须使用New-AzureRmSqlDatabaseExport,则需要提供可以登录到Azure的凭据。您可以将这些凭据的范围限制为仅对此服务器具有权限,并且仅对备份数据库具有权限(查看RBAC的自定义角色),但是您将需要使用Azure用户。

或者,您可以看看使用在数据库层工作的其他工具来进行导出。一个示例是导出BacPac文件-https://docs.microsoft.com/en-us/azure/sql-database/sql-database-export

答案 1 :(得分:0)

存储帐户凭据是New-AzureRmSqlDatabaseExport必需的参数。 enter image description here 换句话说,没有帐户凭据,我们无法将Azure SQL数据库导出到存储帐户。 有关更多详细信息,请参见New-AzureRmSqlDatabaseExportRequired Parameters

为了安全起见,您可以export your Azure SQL database to a BACPAC file,然后将文件上传到订阅B中的Blob存储中。

希望这可以为您提供帮助。