如何为每日备份 SSAS 多维数据集生成或设置唯一名称(使用当前日期)

How to generate or set unique name (using current Date) for daily backup SSAS Cubes

我有一个带有 Analysis Services Execute DDL 对象的 ETL 运行 我的多维数据集的每日备份 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

感动回答:

在 SSIS 的表达式生成器中,您可以 copy/paste 并根据您的需要稍微调整一下。这将年作为 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"