Sequence 命令 (TMSL)
适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
使用 Sequence 命令在 Analysis Services 实例上以批处理模式运行一组连续操作。 整个命令及其所有组件必须完成,事务才能成功。
以下命令可以按顺序运行,但 Refresh 命令除外,该命令并行运行以并发处理多个对象。
请求
maxParallelism 是一个可选属性,用于确定 刷新 操作是按顺序运行还是并行运行。
默认行为是尽可能多地使用并行度。 通过在 Sequence 中嵌入 Refresh,可以控制处理期间使用的确切线程数,包括将操作限制为仅一个线程。
注意
分配给 maxParallelism 的整数确定处理期间使用的最大线程数。 有效值为任何正整数。 将值设置为 1 不等于并行 (使用一个线程) 。
仅 刷新 并行运行。 如果将 maxParallelism 修改为使用固定数量的线程,请务必查看 Refresh 命令 (TMSL) 的属性以了解潜在影响。 即使已提供多个线程,也可以以破坏并行度的方式设置属性。 以下刷新类型的序列将提供最佳并行度:
首先,使用 ClearValues 为所有对象指定 Refresh
接下来,使用 DataOnly 为所有对象指定 Refresh
最后使用 Full、Calculate、Automatic 或 Add 为所有对象指定 Refresh
对此的任何变化都会破坏并行度。
{
"sequence":
{
"maxParallelism": 3,
"operations": [
{
"mergepartitions": {
"sources": [
{
"database": "salesdatabase",
"table": "Sales",
"partition": "partition1"
},
{
"database": "salesdatabase",
"table": "Sales",
"partition": "partition2"
}
]
}
},
{
"refresh": {
"type": "calculate",
"objects": [
{
"database": "salesdatabase"
}
]
}
}
]
}
}
响应
命令成功时返回空结果。 否则,将返回 XMLA 异常。
使用情况 (终结点)
此命令元素用于整个 XMLA 终结点上的 Execute 方法的语句中,以下列方式公开:
作为 SQL Server Management Studio (SSMS) 中的 XMLA 窗口
作为 invoke-ascmd PowerShell cmdlet 的输入文件
作为 SSIS 任务或SQL Server 代理作业的输入
无法从 SSMS 为此命令生成现成的脚本。 相反,你可以从示例开始或编写自己的示例。