首页 文章

无法将Azure SQL数据库从一个资源组移动到另一个资源组

提问于
浏览
0

我们试图将数据库从一个资源组移动到另一个资源组 . 不幸的是,我们在尝试移动数据库时收到以下错误消息:

Move-AzureRmResource : ResourceNotTopLevel : Identifier '' is not a top level resource. At line:1 char:1 + Move-AzureRmResource -DestinationResourceGroupName -ResourceId /subscrip ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Move-AzureRmResource], ErrorResponseMessageException + FullyQualifiedErrorId : ResourceNotTopLevel,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.Move AzureResourceCommand

请参阅下面用于移动数据库的命令,

$ resource = Get-AzureRmResource -ResourceName Name -ResourceGroupName oldRG Move-AzureRmResource -DestinationResourceGroupName NewRG -ResourceId $ resource.ResourceId

您能否告诉我们如何将数据库移动到另一个资源组?

3 回答

  • 1

    谢谢大家的回复 .

    最后,我收到了Azure支持团队的回复 . 根据支持团队的说法,无法跨资源组移动单个数据库,需要移动整个服务器

    我成功地将服务器移动到另一个resoruce grops .

    下面是我使用powershell移动SQL服务器的命令 .

    $ resource = Get-AzureRmResource -ResourceName -ResourceGroupName Move-AzureRmResource -DestinationResourceGroupName -ResourceId $ resource.ResourceId

  • 3

    根据您在问题中给出的命令,您没有为DestinationResourceGroupName和ResourceId参数提供值 . 您应该分别为这些参数指定目标资源组的名称和要移动的资源的ID .

    例:

    PS C:\> $resource = Get-AzureRmResource -ResourceName ExampleApp -ResourceGroupName OldRG
    PS C:\> Move-AzureRmResource -DestinationResourceGroupName NewRG -ResourceId $resource.ResourceId
    

    有关详细信息,请参阅https://azure.microsoft.com/en-in/documentation/articles/resource-group-move-resources/ .

    由于Move-AzureRmResource cmdlet非常新且经常更新,因此请确保您使用的是最新的PowerShell版本 .

  • 0

    您需要将 parent database serverdatabaseresource Ids 一起移动到另一个资源组 .

    错误: ResourceNotTopLevel : Identifier '' is not a top level resource 已经明确声明数据库的资源ID不是顶级资源 . 这实际上意味着您需要移动顶级资源才能移动子资源 .

    在这种情况下,您的顶级资源应该是您的数据库服务器 .

    Move-AzureRmResource-ResourceId 参数实际上是字符串数组 <String[]>

    这个link也报告了一个类似于你的问题 .

    希望这可以帮助!

相关问题