gpt4 book ai didi

powershell - 指定某些高级性能级别时,Azure PowerShell Get-AzureSqlDatabaseServiceObjective 返回 null

转载 作者:行者123 更新时间:2023-12-02 23:41:51 24 4
gpt4 key购买 nike

我在 Azure 自动化门户的 Runbook 中创建了一个 Azure PowerShell 脚本,以便根据时间自动扩展数据库性能级别。

当我想要缩小到“P1”或“P2”性能级别时,我可以通过“Get-AzureSqlDatabaseServiceObjective”成功检索服务目标;但是,当我想扩展到“P6”或“P11”时,我无法使用相同的代码块来做到这一点:

$Edition = "Premium"
$PerfLevel = "P6"
$Servercredential = new-object System.Management.Automation.PSCredential($Credential.UserName, (($Credential).GetNetworkCredential().Password | ConvertTo-SecureString -asPlainText -Force))

$CTX = New-AzureSqlDatabaseServerContext -ManageUrl “https://$ServerName.database.windows.net” -Credential $ServerCredential
$ServiceObjective = Get-AzureSqlDatabaseServiceObjective $CTX -ServiceObjectiveName $PerfLevel

Set-AzureSqlDatabase $CTX –DatabaseName $DatabaseName –ServiceObjective $ServiceObjective –Edition $Edition -Force

当我指定“P6”作为“ServiceObjectiveName”时,此 cmdlet 返回 null;但是,当我指定“P1”或 P2”时,cmdlet 返回正确的 ServiceObjective 对象,并且代码将正确执行。

“Get-AzureSqlDatabaseServiceObjective”的 MSDN 文档仅将“P1、P2、P3”显示为有效的 Premium 值;但是,必须有一种方法将数据库扩展到这些更高的性能级别(我可以在此脚本中指定“P3”作为参数,它实际上会将数据库性能级别更改为 P3,即使您无法选择此选项不再需要通过 Azure 门户手动调整性能级别)。

任何人都可以提供建议或其他方法来通过 PowerShell 脚本实现扩展到这些更高的性能级别吗?我在这里和其他地方做了几个小时的研究,但我找不到这篇文章或任何其他已解决类似问题的帖子的解决方案。

最佳答案

用于 SQL Server 的 Azure 资源管理命令行开关,即 Set-AzureRmSqlDatabase可用于将数据库升级到任何所需的版本/性能级别。

我们必须连接到我们的 Azure 订阅并获取数据库实例来升级它。我们可以创建一个runbook安排升级/降级。

# Read the subscription credentials. AzureRunAsConnection asset is created as a part of Automation account setup(see link below)
$Conn = Get-AutomationConnection -Name AzureRunAsConnection

# Connect to the subscription (Uninteractive login).
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID `
-ApplicationId $Conn.ApplicationID `
-CertificateThumbprint $Conn.CertificateThumbprint

# Set the new performance tier of db.
Set-AzureRmSqlDatabase -DatabaseName $Using:DatabaseName `
-ServerName $Using:SqlServerName `
-ResourceGroupName $Using:ResourceGroupName `
-Edition $Using:Edition `
-RequestedServiceObjectiveName $Using:PerfLevel

阅读Authentication runbook with AzureRunAsAccount有关使用 Runbook 连接 Assets 进行身份验证的详细信息。

注意:`(tick) 用于将命令行开关分成多行。

关于powershell - 指定某些高级性能级别时,Azure PowerShell Get-AzureSqlDatabaseServiceObjective 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39712166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com