我有一个带有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
答案 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"