通过附加日期的 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 以下会有用:
我想通过 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 以下会有用: