web-dev-qa-db-ja.com

Powershellを使用してSSAS接続文字列をクエリする

OLAPキューブまたはデータベースごとにSSASから既存の接続文字列を取得します。データは、制御/監査レポートで使用されます。

Powershellを使用すると、ディレクトリのようにSSASにドリルダウンでき、自分の目的を確認できますが、クエリの方法がわかりません。

powershellでは、ここにドリルダウンできます。

PS SQLSERVER:\SQLAS\LAP123\Default\databases\EnvironmentalAnalysisService\Datasources> 

そして、私は私が欲しい詳細を見ることができます:

Name                      Isolation     Max Connections Connection String                       
----                      ---------     --------------- -----------------                       
Environmental Data Mart   ReadCommitted              10 Provider=SQLNCLI11.1;Data               
                                                        Source=LAP123;Integrated                
                                                        Security=SSPI;Initial                   
                                                        Catalog=EnvironmentalDataMart

この場合はサーバーです。 LAP123とデータベース:EnvironmentalDataMart

クエリのようにPowershellから必要なアイテムを取得するにはどうすればよいですか?

1

うわー!

# Add the AMO namespace
$loadInfo = [Reflection.Assembly]::LoadWithPartialName(“Microsoft.AnalysisServices”)

## Connect and get the edition of the local server
$connection = “localhost”
$server = New-Object Microsoft.AnalysisServices.Server
$server.connect($connection)

foreach ($d in $server.Databases )
{   

    Write-Output ( “Database: {0}, String {1}:” -f $d.Name, $d.DataSources.ConnectionString)        

} # Databases

戻り値:

Database: EnvironmentalAnalysisService, String Provider=SQLNCLI11.1;Data Source=LAP123;Integrated Security=SSPI;Initial Catalog=EnvironmentalDataMart:
Database: PerformanceAnalysisService, String Provider=SQLNCLI11.1;Data Source=DEV-EDW;Integrated Security=SSPI;Initial Catalog=PerformanceDataMart:

PS SQLSERVER:\SQLAS> 
2