使用 PowerShell 同步 Azure Analysis Services 模型

Sync Azure Analysis Services Model using PowerShell

我正在尝试在横向扩展 AAS 实例上同步 AAS 模型。我有一个副本并启用了 "Separate the processing server from the query pool" 选项。

然后我 运行 这个脚本:

$Server = (Get-AzureRmAnalysisServicesServer -ResourceGroupName $ResourceGroupName -Name $AASServerName).ServerFullName
$ServicePrincipalCredentialSecure = $ServicePrincipalCredential | ConvertTo-SecureString -asPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential($ServicePrincipalId,$ServicePrincipalCredentialSecure)
Add-AzureAnalysisServicesAccount -ServicePrincipal -Credential $Cred -RolloutEnvironment "northeurope.asazure.windows.net" -TenantId $TenantId
Sync-AzureAnalysisServicesInstance -Instance "$($Server):rw" -Database $Database -Verbose

但是我收到这个错误:

Sync-AzureAnalysisServicesInstance : {"CorrelationId":"e54ac23d-4be3-478c-a8a4-af2981fa3775","OperationId":null,"Database":"SIMONTEST","UpdatedAt":"2019-09-02T10:07:38.0522507+01:00","StartedAt":"20 19-09-02T10:07:38.0522507+01:00","SyncState":-1,"Details":"Failed to send sync request to specified server. ServerName: xxxx:rw, RootActivityId: 4a5b2459-5d28-4263-a49c-6d483ac8c32c, Date (UTC): 9/2/2019 9:07:37 AM, Details: Response status code does not indicate success: 400 (Bad Request).."}

我注意到这些命令是 Azure 而不是 AzureRM - 这很奇怪但是文档显示的是:https://docs.microsoft.com/en-us/powershell/module/azurerm.analysisservices/sync-azureanalysisservicesinstance?view=azurermps-5.7.0

更新:

看来我们没有将服务主体添加到服务器管理员角色,我添加了它,它起作用了。

您可以按照此 link 在 SSMS 中添加服务主体。

注意:如果无法通过名称找到服务主体,也可以在Manual Entry -> Add -> OK中写入app:<application id>@<tenant id>