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

时间:2018-05-09 16:08:21

标签: sql sql-server ssis ssas cube

我有一个带有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 server代理,我希望每天都有一个唯一的文件与当前日期。 喜欢的东西:

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 :(得分:2)

感动回答:

在SSIS for Expression中的Expression Builder中,您可以复制/粘贴此内容并根据需要进行调整。这将年份视为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"