我正在尝试使用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.'
任何输入将不胜感激
答案 0 :(得分:0)
确保新的弹性池与旧的弹性池具有相同的名称和名称。同时确保两个弹性池的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/rest/api/sql/databases/createorupdate
https://docs.microsoft.com/en-us/rest/api/sql/elasticpools/createorupdate
答案 1 :(得分:0)
删除“ -ServiceObjectiveName”参数。只能使用-elasticpool或-ServiceObjectiveName。