Как получить уровень совместимости базы данных с сервера анализа? - PullRequest
0 голосов
/ 04 октября 2018

Я искал вокруг и обнаружил, что есть способ получить уровень совместимости базы данных в powershell с помощью чего-то вроде:

    Import-Module SqlServer

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection 
$SqlConnection.ConnectionString = "Server=$Server;Initial Catalog=$DB;Integrated Security=SSPI"
$conn = new-object Microsoft.SqlServer.Management.Common.ServerConnection($sqlConnection)
$srv = new-object Microsoft.SqlServer.Management.Smo.Server($conn) 

$db = New-Object Microsoft.SqlServer.Management.Smo.Database  
$db = $srv.Databases.Item("$DB")  

$comp_lvl = New-Object Microsoft.SqlServer.Management.Smo.CompatibilityLevel  
$comp_lvl = $db.CompatiblityLevel  
Write-Host "Compatibility level =" $db.CompatibilityLevel

Однако я получаю ошибки, пытаясь получить уровень совместимости базы данных, которая являетсяна сервере анализа

Исключение при получении "Item": "Не удалось подключиться к серверу ..."

Я понял, что это, вероятно, работает для обычного механизма базы данных,но что-то еще может быть использовано для сервера анализа.Я посмотрел на MS Docs и не нашел ничего полезного.

ТАК это вообще возможно?

ОБНОВЛЕНИЕ:

Мне удалось найти что-то на этой странице: https://technet.microsoft.com/en-us/hh213141(v=sql.100)

Import-Module SqlServer

$as = New-Object Microsoft.AnalysisServices.Server  
$as.connect("$Server")  

$as.databases

Write-Host "Compatibility level ="$as.DefaultCompatibilityLevel

но это возвращает ВСЕ базы данных обратно ...

Я хочу указать только одну базу данных, чтобы получить уровень совместимости ...

Я пробовал это,

$as.databases["$Database"]

но, похоже, он не возвращает должный уровень, потому что база данных, которую я передаю, имеет уровень 1103, а не 1200 ...

1 Ответ

0 голосов
/ 04 октября 2018

Я разобрался!

Import-Module SqlServer

$as = New-Object Microsoft.AnalysisServices.Server  
$as.connect("$Server")  

$c = $as.Databases | Where-Object { $_.ID -eq $Database }

Write-Host "Compatibility level =" $c.CompatibilityLevel
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...