我们试图将数据库从一个资源组移动到另一个资源组 . 不幸的是,我们在尝试移动数据库时收到以下错误消息:
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 回答
谢谢大家的回复 .
最后,我收到了Azure支持团队的回复 . 根据支持团队的说法,无法跨资源组移动单个数据库,需要移动整个服务器
我成功地将服务器移动到另一个resoruce grops .
下面是我使用powershell移动SQL服务器的命令 .
根据您在问题中给出的命令,您没有为DestinationResourceGroupName和ResourceId参数提供值 . 您应该分别为这些参数指定目标资源组的名称和要移动的资源的ID .
例:
有关详细信息,请参阅https://azure.microsoft.com/en-in/documentation/articles/resource-group-move-resources/ .
由于Move-AzureRmResource cmdlet非常新且经常更新,因此请确保您使用的是最新的PowerShell版本 .
您需要将 parent database server 和 database 的 resource Ids 一起移动到另一个资源组 .
错误:
ResourceNotTopLevel : Identifier '' is not a top level resource
已经明确声明数据库的资源ID不是顶级资源 . 这实际上意味着您需要移动顶级资源才能移动子资源 .在这种情况下,您的顶级资源应该是您的数据库服务器 .
Move-AzureRmResource
的-ResourceId
参数实际上是字符串数组<String[]>
这个link也报告了一个类似于你的问题 .
希望这可以帮助!