通过附加日期的 SSMS 作业备份 SSAS

Backup SSAS via SSMS Job with Date Appended

我想通过 SSMS 中的 SQL 服务器代理作业备份我的 SSAS 数据库 – 我还想将日期附加到文件末尾并允许覆盖。 这将确保我只有一个月的备份(即 1 月 1 日备份将被称为 backup_01.abf,1 月 2 日 = backup_02.abf 等)

我通过SSMS连接到SSAS DB并编写了备份程序,如下所示:

    {
      "backup": {
        "database": "ExampleDB",
        "file": "Backup.abf",
        "allowOverwrite": true,
        "applyCompression": false
      }
    }

我相信我可以简单地将其添加为服务器代理作业中的一个步骤作为 SQL 服务器分析服务命令。

但是我怎样才能将月份的日期附加到文件中呢?

似乎在网上找不到很多相关信息

[编辑]

结合 Vaishali 在下面的回复以及我在网上找到的另一篇关于此的文章,我执行了以下操作:

创建链接服务器(Link_SSAS) 生成了以下脚本:

    Declare @XMLA nvarchar(1000),
        @DateSerial nvarchar(35)

    -- Get Day Number from GETDATE()
    Set @DateSerial =   RIGHT('0' + RTRIM(DAY(GETDATE())),2)

    -- Create the XMLA string
    Set @XMLA = N'<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
      <Object>
        <DatabaseID>ExampleDB</DatabaseID>
      </Object>
      <File>C:\bak\Backup_' + @DateSerial + '.abf</File>
    </Backup>'

    -- Execute the string across the linked server
    Exec (@XMLA) AT Link_SSAS;

如果我只是通过 SSMS 中的查询 window 执行上面的 xmla 运行s 完美 但是,当我尝试将 XMLA 放入作业步骤时,出现错误

将作业类型设置为 T-SQL 我得到:

指定的“@server”无效(sp_helpserver返回有效值)

如果我 运行 sp_helpserver,它会显示我的链接服务器在那里。 已尝试断开连接/重新连接到服务器。

您可以 'dynamic xmla script' 通过 sql 执行。 link 以下会有用:

https://www.mssqltips.com/sqlservertip/2790/dynamic-xmla-using-tsql-for-sql-server-analysis-services/