执行暂停 Azure SQLDatawarehouse ps 脚本时出错

Error while executing Pause Azure SQLDatawarehouse ps script

我正在使用自动化帐户执行 PowerShell Runbook 来暂停我的 Azure 数据仓库数据库。 通过创建凭据、指纹证书完成设置。 当我执行 PS 脚本并完成时出现错误消息

No Azure SQL Data Warehouse named ADWPOC exist on SQL Server At SuspendOrPauseAzureSQLDataWarehouse:72 char:72 + + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

我在执行此脚本时已正确提供数据库名称和服务器详细信息。我不确定这里有什么问题。请指教。

我已经从 Runbook 库 "Suspend Or Pause Azure SQL Data Warehouse" 导入了 PS 脚本。如果你想让我在这里附上脚本,请告诉我?

不确定,但脚本看起来太旧了,它仍然使用已弃用的 AzureRm 模块。

要在 runbook 中暂停数据仓库,我建议您使用新的 Az module, sample here,要在 runbook 中使用它,只需按照以下步骤操作即可。

1.Navigate 到您在门户中的自动化帐户 -> Modules,确保您已导入 Az.AccountsAz.Sql 模块,如果没有,请在 Modules -> Browse Gallery,搜索模块并导入它们。

2.After 成功导入模块,导航到 Runbooks -> 创建一个 PowerShell runbook(不是 PowerShell Workflow),然后使用下面的脚本操作手册。

注意<server-name>应该像testserver,而不是testserver.database.windows.net

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    Connect-AzAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

$database = Get-AzSqlDatabase –ResourceGroupName "<resource-group-name>" –ServerName "<server-name>" –DatabaseName "<data-warehouse-name>"
if($database){

    if($database.Status -eq 'Paused'){
        Write-Output "The Data Warehouse was already paused."
    }else{
        $database | Suspend-AzSqlDatabase
        Write-Output "The Data Warehouse has been paused." 
    }

}else{

    Write-Output "The Data Warehouse does not exist."
}