2013-12-09 25 views
0

我正在創建一項每天運行以備份我擁有的SSAS數據庫的作業。下面是分析服務的命令爲使用日期戳每天備份Analysis Services多維數據集

備份的xmlns = 「http://schemas.microsoft.com/analysisservices/2003/engine」

<Object> <DatabaseID>PipeLine</DatabaseID> </Object> <File>C:\DBBackup\PipeLine.abf</File> </Backup>

我不要寫信每天覆蓋我的備份。任何人都可以讓我知道如何添加日期戳到我的備份文件。

如果不是,我每天都有備份設備(例如,星期日,星期一,星期二等)。有沒有一種方法我可以檢查的一天,存儲在相應的備份設備備份當天

請幫我

+0

從以上備份XMLA腳本執行?從SQL Server代理作業?作爲備份批處理的預運行腳本?從PowerShell腳本?從其他地方...? – FrankPl

+0

它被創建爲備份批處理的預運行腳本 – user3063530

回答

0

XMLA本身不提供任何日期的邏輯中使用的文件名。因此,你必須在調用腳本的環境中實現它。 I. e。每次調用時都必須使用不同的文件名來生成XMLA備份腳本。

如果您使用的是Windows批處理文件,你可以使用這樣一行

for /f "usebackq" %%b in (`date /t`) do echo "<Backup xmlns='http://schemas.microsoft.com/analysisservices/2003/engine'<Object> <DatabaseID>PipeLine</DatabaseID></Object><File>C:\DBBackup\PipeLine%%b.abf</File></Backup>" 

與呼叫執行XMLA更換echo。請注意,如果您不在批處理文件中執行此操作,而是直接在命令行中執行此操作,則應該使用百分號而不是兩個作爲變量b,如此處所述:http://technet.microsoft.com/en-us/library/bb490909.aspx

+0

嗨,我有點困惑。我會清楚地告訴你我到目前爲止做了什麼。 1.連接到Analysis Services,右鍵單擊我想每天備份的多維數據集數據庫。點擊備份,出現備份數據庫屏幕,並有一個腳本選項(腳本操作到新查詢窗口/腳本操作到文件/腳本操作到剪貼板)。我點擊腳本動作到新的查詢窗口,並得到了xmla窗口上的腳本 – user3063530

+0

@ user3063530我也有點困惑。我從你的問題和對我評論的回答中瞭解到,你有一個自動運行的作業,將* .abf文件備份到e。 G。一個磁帶驅動器,並且在運行此主備份之前,作業會調用一個運行XMLA腳本的批處理文件,以將AS數據庫備份到* .abf文件。我明白你的問題是你如何改變進程來獲取當前日期到文件名。如果這不是您的要求,請編輯您的問題,以更清楚地說明它是什麼。 – FrankPl

+0

感謝您的支持。我需要更多關於如何「循環」這個東西的細節,因爲顯然「for/f ...」字符串在XMLA的查詢窗口中不起作用。批處理文件也是1980年代在21世紀考慮使用的。也許一個更現代的SSIS腳本和SQL代理將會產生更清晰的結果。 – user3285866

相關問題