Как создать или установить уникальное имя (используя текущую дату) для ежедневного резервного копирования кубов SSAS - PullRequest
0 голосов
/ 09 мая 2018

У меня есть ETL с объектом DDL служб Analysis Services, выполняющим ежедневное резервное копирование моего куба, с кодом XML ниже:

<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"><Object><DatabaseID>MyCube</DatabaseID></Object><File>B:\Backups\Cubes\MyCube.abf</File><AllowOverwrite>true</AllowOverwrite></Backup>

Так что я каждый день получаю файл вроде:

MyCube.abf

И используя SSIS с объектом задачи Sql или агентом сервера Sql, я хотел бы иметь уникальный файл на каждый день с текущей датой. Что-то вроде:

MyCube_2018_05_09.abf
MyCube_2018_05_10.abf
MyCube_2018_05_11.abf

Также, если можно установить что-то, удаляющее самую старую резервную копию, оставившую последние 2 недели, это было бы очень полезно.

Примечание: Я ссылался на веб-сайт ниже, но несколько раз пытался по-разному, и ничего не получалось.

http://dbatasks.blogspot.com/2012/08/taking-backup-of-ssas-database.html

Любая помощь в этом отношении будет принята с благодарностью: D

1 Ответ

0 голосов
/ 09 мая 2018

Перемещено в ответ:

В Expression Builder в SSIS для переменной вы можете скопировать / вставить это и немного подправить под свои нужды. Это означает, что год состоит из 4 цифр, а месяцы и дни равны 2 с ведущими 0, если это один день или месяц:

"MyCube_"+ (DT_WSTR,4)YEAR(GETDATE()) +  RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()), 2) + RIGHT("0" + (DT_WSTR,2)DAY( GETDATE()), 2) + ".abf"
...