Un petit snippet pour sauvegarder tous les cubes de tous mes serveurs SSAS.
L’accent étant mis sur l’utilisation de l’emplacement défini dans la configuration SSAS pour réaliser les backups, ce qui permet de ne plus avoir à toucher au script en cas de modification de l’emplacement de stockage ainsi que de pouvoir définir cet emplacement par serveur.
#On liste les serveurs $ServersName=”localhost\BIDEV”,”localhost\BIPROD” ## AMO Assembly $loadInfo = [System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.AnalysisServices”) | Out-Null [Microsoft.AnalysisServices.BackupInfo]$serverBackup = New-Object ([Microsoft.AnalysisServices.BackupInfo]) [Microsoft.AnalysisServices.Server]$server = New-Object Microsoft.AnalysisServices.Server $server.connect($ServerName) foreach($ServerName in $ServersName) { If ($server.name -eq $null) { Write-Output (“Server ‘{0}’ not found” -f $ServerName) break } $DBList = $server.Databases #Properties $BackupDestination = $server.ServerProperties.Item(“BackupDir”).value $serverBackup.AllowOverwrite = 0 $serverBackup.ApplyCompression = 0 Foreach($DB in $DBList) { [string]$backupTS = Get-Date -Format “yyyyMMddHHmm” $serverBackup.file = $backupDestination + '\' + $db.name + “_” + $backupTS + “.abf” $serverBackup.file $DB.Backup($serverBackup) } $server.Disconnect() }
Plus d’informations ici : http://sqlpowershell.wordpress.com/2013/06/05/ssas-cube-backup-strategies-and-step-by-step-approach-to-setup-and-configure-backup/