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

标签 sql sql-server ssis ssas cube

我有一个 ETL,其中有一个 Analysis Services Execute DDL 对象运行我的多维数据集的每日备份,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 的表达式生成器中,您可以复制/粘贴它并根据您的需要对其进行一些调整。这将年作为 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"

关于sql - 如何为每日备份 SSAS 多维数据集生成或设置唯一名称(使用当前日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50257740/

相关文章:

MySQL 嵌套 SELECT

java - 增加 Java.sql.date/time 的最佳方法是什么?

sql-server - SQL Server 2005 - 授予创建存储过程的权限(但不授予其他对象)

c# - 如何在 View 模型中存储 linq 查询结果

sql-server - 计划的 SSIS 包创建以日期为文件名的 excel 文件

web-services - SSIS Web服务任务超时值

mysql - 按不同的键子集分组

mysql - 查找每种产品的总命中率和唯一命中率

sql-server - 'Bytes per row' 在 SQL Server max 中到底意味着什么?容量规范

ssis - 如何从 SSIS 2012 中的 SQL Server Data Tools 部署单个包?