使用 powershell 或 azure cli 的 Azure Analysis Services 数据库模型备份

Azure Analysis Services database model backups using powershell or azure cli

我正在尝试使用以下 powershell 脚本备份 AAS 数据库模型。我发现很难,因为没有很好的 Microsoft 文档来实现这个解决方案。

$AnalysisServiceDatabase = "adventureworks"
$AnalysisServiceServer = "testanalysis"
$automationConnectionName = $ConnectionName 
if (!$ConnectionName) { 
    $automationConnectionName = "AzureRunAsConnection" 
}  
$servicePrincipalConnection = Get-AutomationConnection -Name $automationConnectionName          

Write-Output "Logging in to Azure..." 
 
Add-AzureRmAccount `
    -ServicePrincipal `
    -TenantId $servicePrincipalConnection.TenantId `
    -ApplicationId $servicePrincipalConnection.ApplicationId `
    -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint

# Get PSCredential 
$cred = Get-AutomationPSCredential -Name $AutomationCredentialName

Write-Output "Starting Backup..." 

Backup-ASDatabase `
    –backupfile ("backup." + (Get-Date).ToString("yyMMdd") + ".abf") `
    –name $AnalysisServiceDatabase `
    -server $AnalysisServiceServer `
    -Credential $cred

有人能帮帮我吗?是否有其他方法可以自动备份 Azure 分析服务数据库?

我敢肯定,有几种方法可以解决这个问题。您的脚本非常接近。如果您按如下方式更改备份命令,我怀疑它会起作用:


Backup-ASDatabase `
    –backupfile ("backup." + (Get-Date).ToString("yyMMdd") + ".abf") `
    –name $AnalysisServiceDatabase `
    -server "asazure://<full server URI here>" `
      -ApplyCompression `
      -ServicePrincipal `
      -ApplicationId $servicePrincipalConnection.ApplicationId `
      -TenantId $servicePrincipalConnection.TenantId `
      -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint



如果您需要更多功能,例如恢复服务器和暂时打开当前 Azure 自动化 public IP 的防火墙,请改为执行以下操作。希望你能从两个例子中拼凑出你想要的脚本。

首先从这个 script (which processes an Azure Analysis Services database). Note the setup instructions here 创建一个 Runbook。

然后将第 100-123 行替换为来自第 162-215 行的 script 中的备份数据库代码(在 prem 上备份并恢复到 Azure Analysis Services)。并将 $Server 更改为 $amoAzureASServer。