Je veux récupérer la chaîne de connexion existante de SSAS pour chaque OLAP Cube ou base de données. Les données seront utilisées dans un rapport de contrôle/audit.
J'ai découvert que PowerShell me permet de percer dans SSAS comme un répertoire et je peux voir ce que je suis après, mais je ne sais pas comment l'interroger.
dans PowerShell, je peux continuer ici:
PS SQLSERVER:\SQLAS\LAP123\Default\databases\EnvironmentalAnalysisService\Datasources>
Et je peux voir les détails que je veux:
Name Isolation Max Connections Connection String
---- --------- --------------- -----------------
Environmental Data Mart ReadCommitted 10 Provider=SQLNCLI11.1;Data
Source=LAP123;Integrated
Security=SSPI;Initial
Catalog=EnvironmentalDataMart
Dans ce serveur de cas; LAP123 & Base de données: EnvironmentalDatamart
Comment puis-je obtenir les articles que je veux de PowerShell comme une requête?
Woohoo !!!
# 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
retour:
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>