【发布时间】:2020-11-17 04:23:34
【问题描述】:
我有一个存储过程,它在一个 db 中填充几个表,这是一个表格 SSAS 多维数据集的数据源。当我完成加载表时,我想将多维数据集作为存储过程中的最后一步进行处理。我找到了这段代码:
DECLARE @XMLA XML = '
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Process>
<Object>
<DatabaseID>' + @Database + '</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>
';
DECLARE @Command VARCHAR(MAX) = CONVERT(VARCHAR(MAX), @XMLA);
EXEC (@Command) AT SSAS;
它接受数据库名称,但我不知道如何让它在特定服务器或 SSAS 实例上运行。我的存储过程和多维数据集位于 Sql 服务器的不同命名实例上。有谁知道如何在 xmla 中嵌入服务器/实例名称或在指定实例上运行 xmla?
提前致谢。
【问题讨论】:
-
我会创建一个 sql 代理作业,然后从存储的过程中运行该作业。 BTW TMSL 是表格立方体的前进方向