2013-12-09 26 views
0

我正在创建一项每天运行以备份我拥有的SSAS数据库的作业。下面是分析服务的命令为使用日期戳每天备份Analysis Services多维数据集

备份的xmlns = “http://schemas.microsoft.com/analysisservices/2003/engine”

<Object> <DatabaseID>PipeLine</DatabaseID> </Object> <File>C:\DBBackup\PipeLine.abf</File> </Backup>

我不要写信每天覆盖我的备份。任何人都可以让我知道如何添加日期戳到我的备份文件。

如果不是,我每天都有备份设备(例如,星期日,星期一,星期二等)。有没有一种方法我可以检查的一天,存储在相应的备份设备备份当天

请帮我

+0

从以上备份XMLA脚本执行?从SQL Server代理作业?作为备份批处理的预运行脚本?从PowerShell脚本?从其他地方...? – FrankPl

+0

它被创建为备份批处理的预运行脚本 – user3063530

回答

0

XMLA本身不提供任何日期的逻辑中使用的文件名。因此,你必须在调用脚本的环境中实现它。 I. e。每次调用时都必须使用不同的文件名来生成XMLA备份脚本。

如果您使用的是Windows批处理文件,你可以使用这样一行

for /f "usebackq" %%b in (`date /t`) do echo "<Backup xmlns='http://schemas.microsoft.com/analysisservices/2003/engine'<Object> <DatabaseID>PipeLine</DatabaseID></Object><File>C:\DBBackup\PipeLine%%b.abf</File></Backup>" 

与呼叫执行XMLA更换echo。请注意,如果您不在批处理文件中执行此操作,而是直接在命令行中执行此操作,则应该使用百分号而不是两个作为变量b,如此处所述:http://technet.microsoft.com/en-us/library/bb490909.aspx

+0

嗨,我有点困惑。我会清楚地告诉你我到目前为止做了什么。 1.连接到Analysis Services,右键单击我想每天备份的多维数据集数据库。点击备份,出现备份数据库屏幕,并有一个脚本选项(脚本操作到新查询窗口/脚本操作到文件/脚本操作到剪贴板)。我点击脚本动作到新的查询窗口,并得到了xmla窗口上的脚本 – user3063530

+0

@ user3063530我也有点困惑。我从你的问题和对我评论的回答中了解到,你有一个自动运行的作业,将* .abf文件备份到e。 G。一个磁带驱动器,并且在运行此主备份之前,作业会调用一个运行XMLA脚本的批处理文件,以将AS数据库备份到* .abf文件。我明白你的问题是你如何改变进程来获取当前日期到文件名。如果这不是您的要求,请编辑您的问题,以更清楚地说明它是什么。 – FrankPl

+0

感谢您的支持。我需要更多关于如何“循环”这个东西的细节,因为显然“for/f ...”字符串在XMLA的查询窗口中不起作用。批处理文件也是1980年代在21世纪考虑使用的。也许一个更现代的SSIS脚本和SQL代理将会产生更清晰的结果。 – user3285866

相关问题