【问题标题】:Can't move Azure SQL Database from one resource group to another无法将 Azure SQL 数据库从一个资源组移动到另一个资源组
【发布时间】:2015-12-17 05:17:47
【问题描述】:

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

Move-AzureRmResource : ResourceNotTopLevel : Identifier '' 不是顶级 资源。 在行:1 字符:1 + 移动-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

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

【问题讨论】:

  • 您是否只需将一个资源(即数据库)从一个资源组移动到另一个资源组?您期望 PowerShell 或 C# 中的解决方案吗?
  • 请通过这个链接,它会帮助你(azure.microsoft.com/en-in/documentation/articles/…
  • @juvchan 我必须将一个数据库从一个资源组移动到另一个。
  • @NeerajSharma 我遵循了同一个文档,并成功移动了其他资源,如 webapp、云服务等。我只面临 sql 数据库的问题

标签: azure azure-sql-database azure-powershell azure-resource-manager


【解决方案1】:

您需要将父数据库服务器数据库资源ID一起移动到另一个资源组。

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

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

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

link 还报告了与您的问题类似的问题。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    根据您在问题中给出的命令,您没有为 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 版本。

    【讨论】:

    • 谢谢。我遵循相同的文档,并更新了问题中的命令。我已经使用相同的命令成功移动了其他资源,例如 webapp、云服务和存储帐户。
    • @itzforu,我的回答是否有助于解决您的问题?
    【解决方案3】:

    谢谢大家的回复。

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

    我已成功将服务器移至另一个资源组。

    以下是我使用 powershell 移动 SQL 服务器的命令。

    $resource = Get-AzureRmResource -ResourceName {servername} -ResourceGroupName {oldRG}

    Move-AzureRmResource -DestinationResourceGroupName {newRG} -ResourceId $resource.ResourceId

    【讨论】:

    • 您好,这与我提供的答案基本相同。你会接受它作为答案吗?
    • 我刚刚看了你的回答,我投了赞成票。这是这个问题的答案。但是,我无权将其标记为答案。
    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多