Faire un backup de vos bases Analysis Services, c’est facile, c’est une commande XMLA.
Allez, je vous la mets pour la forme :
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <0bject> <DatabaseID>Adventure Works DW 2008</DatabaseID> </0bject> <File>Adventure Works DW 2008.abf</File> </Backup>
Si ensuite, je veux l’automatiser, je crée une étape “Commande Analysis Services” dans un job du SQL Agent.
Sauf que si je veux garder les 7 derniers backups, j’ai besoin d’ajouter la date dans le nom du fichier ABF. Dynamiquement.
La solution que j’ai pris, faire un peu de PowerShell :
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") [Microsoft.AnalysisServices.Server]$server = New-Object Microsoft.AnalysisServices.Server [string]$instanceName = "BI1101ID\MSBI" $server.connect($instanceName) $backupRoot = "C:\DataRoot\MSAS10_50.MSSQLSERVER\OLAP\BACKUP\" $dbName = "UneBaseSSAS" [string]$backupTimeStamp = Get-Date -Format "yyyyMMddHHmm" $db = $server.databases[$dbName] $backupFile = $backupRoot + $dbName + "-" + $backupTimeStamp + ".abf" $db.Backup($backupFile)
Et voila.