长时间运行的操作失败,状态为“失败”。附加信息:'指定的 sku 'ElasticPool' 无效。'

Posted

技术标签:

【中文标题】长时间运行的操作失败,状态为“失败”。附加信息:\'指定的 sku \'ElasticPool\' 无效。\'【英文标题】:Long running operation failed with status 'Failed'. Additional Info:'The sku 'ElasticPool' specified is invalid.'长时间运行的操作失败,状态为“失败”。附加信息:'指定的 sku 'ElasticPool' 无效。' 【发布时间】:2020-02-09 00:28:28 【问题描述】:

我正在尝试使用 PSCmdlet New-AzSqlDatabaseCopy 克隆 Azure SQL 数据库(在被告知 Restore-AzSqlDatabase 不允许我进行跨服务器复制之后)。我的命令如下:

New-AzSqlDatabaseCopy   -ServerName $SourceDatabase.ServerName `
                        -ResourceGroupName $SourceDatabase.ResourceGroupName `
                        -DatabaseName $SourceDatabase.DatabaseName `
                        -ServiceObjectiveName $SourceDatabase.CurrentServiceObjectiveName `
                        -CopyServerName $TargetServerName `
                        -CopyResourceGroupName $TargetResourceGroupName `
                        -CopyDatabaseName $TargetDBName `
                        -ElasticPoolName $ElasticPoolName`
                        -ErrorAction stop

源数据库与目标数据库位于不同的服务器和资源组中,并且与目标数据库位于不同的弹性池中。

我已经检查并仔细检查了所有参数以确保它们正确,并且我使用 -whatif 运行它并且一切看起来都很好(除了创建日期是 1/1/0001 但我不是超级还在担心)

但是,当我运行命令时,我得到New-AzSqlDatabaseCopy : Long running operation failed with status 'Failed'. Additional Info:'The sku 'ElasticPool' specified is invalid.' 任何输入将不胜感激

【问题讨论】:

能否详细描述您的问题?是要复制一个数据库到不同的sql server,不同的弹性池吗? 根据错误,可能是因为您在参数中指定的弹性池名称无效。感谢您提供有关您尝试实现的目标的更多详细信息 【参考方案1】:

确保新弹性池与旧弹性池具有相同的名称和名称。还要确保两个弹性池的 sku 相同。如果资源组位于不同的区域,则弹性池的 sku 可能会有所不同,从而导致复制数据库时出现问题。

SQL 服务器 - sql_server_A --- 弹性池 - elastic_pool_1 ----- 数据库-template_db

SQL 服务器 - sql_server_B --- 弹性池 - elastic_pool_1(名称等于来自 sql_server_A 的弹性池)

参考资料:

https://github.com/Azure/azure-libraries-for-net/issues/41

https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-move-database-between-pools-powershell

https://docs.microsoft.com/en-us/rest/api/sql/databases/createorupdate

https://docs.microsoft.com/en-us/rest/api/sql/elasticpools/createorupdate

【讨论】:

【参考方案2】:

删除“-ServiceObjectiveName”参数。只能使用 -elasticpool 或 -ServiceObjectiveName。

【讨论】:

以上是关于长时间运行的操作失败,状态为“失败”。附加信息:'指定的 sku 'ElasticPool' 无效。'的主要内容,如果未能解决你的问题,请参考以下文章

长时间运行的 Azure WebJob 失败 - 客户端无法在指定的超时时间内完成操作

长时间运行的 py.test 在第一次失败时停止

很长时间后运行 gradle 任务失败

jdbc数据库连接失败 java.net.SocketException: Malformed reply from SOCKS

WSL VSCODE 搜索时或者查找引用时,长时间失败,导致系统卡死,磁盘占用100%

WSL VSCODE 搜索时或者查找引用时,长时间失败,导致系统卡死,磁盘占用100%