问题描述
我在将 -vCore 参数用于 Restore-AzsqlDatabase 函数时遇到问题。
我有以下查询,它工作正常并复制了 sourceDB 的计算生成和 vCore 设置。
Restore-AzsqlDatabase -FromPointInTimeBackup -PointInTime $dateTime -ResourceGroupName $database.ResourceGroupName -ServerName $database.ServerName -TargetDatabaseName $targetDB -Edition $edition -ServiceObjectiveName $database.CurrentServiceObjectiveName -ResourceId $database.ResourceID
但是,当我添加 -VCore 参数(如下所示)时,查询失败(通过 azure devops 管道)。
Restore-AzsqlDatabase -FromPointInTimeBackup -PointInTime $dateTime -ResourceGroupName $database.ResourceGroupName -ServerName $database.ServerName -TargetDatabaseName $targetDB -Edition $edition -ServiceObjectiveName $database.CurrentServiceObjectiveName -ResourceId $database.ResourceID -VCore 1
我看到的错误是。
System.Management.Automation.ParameterBindingException: Parameter set cannot be resolved using the specified named parameters.
我也尝试添加 -ComputeGeneration 参数但没有成功。
Restore-AzsqlDatabase -FromPointInTimeBackup -PointInTime $dateTime -ResourceGroupName $database.ResourceGroupName -ServerName $database.ServerName -TargetDatabaseName $targetDB -Edition $edition -ServiceObjectiveName $database.CurrentServiceObjectiveName -ResourceId $database.ResourceID -ComputeGeneration "Gen5" -VCore 1
还要注意 $edition = 'GeneralPurpose',源数据库是通用 + 无服务器,azure 管道任务是 'AzurePowerShell@5'。
有谁知道如何成功使用 -VCore 参数来设置最大 vcores 数?
MS provided doco 没有给我任何线索。
解决方法
上的语法
列出了每个可能的参数组 - 但没有包含 -ServiceObjectiveName
和 -vCore
的组合。
如果要设置 vCore,最可能设置的参数是:
Restore-AzSqlDatabase
[-FromPointInTimeBackup]
-PointInTime <DateTime>
-ResourceId <String>
-ServerName <String>
-TargetDatabaseName <String>
-Edition <String>
[-AsJob]
-ComputeGeneration <String>
-VCore <Int32>
[-LicenseType <String>]
[-BackupStorageRedundancy <String>]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]