[英]how can I create job for make Back Up From SSAS Database?
我使用SQL Server 2008 R2
和SSAS。
我在SSAS中有一些維數據庫。
我需要創建一份工作,以便每天從SSAS的所有DataBase備份。
我怎么能這樣做?
所以有幾種方法:
1 /使用Analysis Services命令創建SQL作業作為步驟,每個數據庫使用與此類似的代碼:
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>DBName</DatabaseID>
</Object>
<File>\\server\share\folder\backupFile.abf</File>
<AllowOverwrite>true</AllowOverwrite>
</Backup>
這很簡單,如果您只有一些SSAS數據庫,您不會定期刪除或添加更多數據庫,維護起來相對輕松
2 /創建一個SSAS鏈接服務器,然后在作業步驟中使用常規SQL語句來傳遞命令(由於您可以使用變量來修改文件名等內容,因此可以提供更多靈活性):
DECLARE @XMLA NVARCHAR(1000) ,
@timeStamp NVARCHAR(35);
SET @timeStamp = CONVERT(NVARCHAR, GETDATE(), 112) + '_'
+ REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '');
SET @XMLA = N'<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>dbName</DatabaseID>
</Object>
<File>\\server\share\folder\dbName_'
+ @timeStamp + '.abf</File>
<AllowOverwrite>true</AllowOverwrite>
<ApplyCompression>false</ApplyCompression>
</Backup>';
EXEC (@XMLA) AT [SSAS_LinkedServer]
編輯:使用此方法您還可以使用以下方法從Analysis Server輕松獲取SSAS數據庫列表:
SELECT [catalog_name] FROM OPENQUERY([SSAS_LinkedServer],'select [catalog_name] from $system.dbschema_catalogs')
然后,您可以只瀏覽此列表,通過列表中每個數據庫的鏈接服務器執行SSAS命令,這意味着如果添加新的SSAS數據庫,則無需手動維護作業。
3 /使用powershell,下面的方法在2008 R2上不起作用,但可以修改為直接使用SMO而不是它們在SQL Server 2012中提供的好提供程序(這是我們使用的方法,下面是一個示例從我的腳本):
import-module sqlps -disablenamechecking
$server = "SERVER\INSTANCE"
$backupPath = "\\backup-server\share\SSAS\$server\"
#Get a list of the SSAS databases on the server
$ssasDBs = dir SQLSERVER:\SQLAS\$server\databases
#Backup each SSAS database on the server
foreach ($db in $ssasDBs)
{
$extension = Get-Date -UFormat "_%Y_%m_%d_%A_%H%M%S.abf"
$backupFile = $backupPath+$db+$extension
try
{
$db.Backup($backupFile)
}
catch
{
Write-Warning "Backup of $db Failed!!!"
}
}
此方法的優點是,如果添加新的SSAS數據庫,則無需更改作業,腳本將自動備份,無需更改。
我確定還有其他方法可以實現這一點,但這些是我用來管理SSAS備份的3種方法,我一般認為SSAS的管理方面相當痛苦,因為它似乎有點缺乏,但也許這只是我。 SQL 2012中新的PowerShell位使它變得更容易。
希望這有助於至少有一些關於你能做什么的想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.