6.3 高级处理和分区管理的示例
在讨论企业的BI解决方案的时候,很少谈到适用于对象处理的当前状态。对于成功的BI应用程序而言,要想获得较高的性能和机动性,需要有独特的优先要求或复杂的分区管理以及处理需求。本章前面已经讨论了在SSIS内处理和管理SSAS对象的不同方法。前一节介绍了基本的即开即用功能。因此,现在是时候考虑其他一些方法并学习如何通过让XMLA动态化来充分利用Analysis Services Execute DDL Task。
6.3.1 维度的处理
一般来说,除了一些潜在的独特的优先级处理或事务管理之外,维度的处理很简单直接。因此,即使前面的谈到的很多方法都适用于维度的处理,但是为了尽量保持其简单性,可能会发现有些方法可能有些小题大做了。
正如前面已经详细讨论过的,Analysis Services Processing Task的调整功能常常已经足够了。其他一些简单直接的方法涉及到为处理维度创建一个XMLA脚本。虽然维度的结构几乎不发生改变,但是在大部分情形中,过程的更新都是在维度上进行的。而在大部分情况下,不需要让XMLA脚本变得动态化。因此,可以生成XMLA,然后通过使用ASCMD可执行文件或Analysis Services Execute DDL Task来执行它。这里给出了一个小型XMLA脚本的示例,它将完成对Product、Employee和Time等维度进行并行的处理更新。
<Batch |
上述代码是在SSMS中生成的,方法是连接到SSAS中。Processing对话框(在任何维度上单击鼠标右键并选择Process)包含了给处理过程设置编写脚本的能力。
为了通过Analysis Services Execute DDL Task运行该XMLA脚本,只需把XMLA直接输入到该任务中(与前面描述的一样),或将其捕获到在该任务内标识出的程序包变量中 (后面关于分区处理的讨论将涉及到通过Analysis Services Execute DDL Task动态化XMLA)。
执行该XMLA脚本的另一种方法是利用ASCMD.exe可执行文件,该文件是与SQL Server 2005 SP1一起安装的并在SP2中有一个升级的版本。正如前面提到的,ASCMD包含了运行XMLA脚本、MDX查询和DMX查询的能力。下面给出的URL上有一篇描述ASCMD.exe所有功能集合的文章,可供读者参考:
http://msdn2.microsoft.com/en-us/library/ms365187.aspx
在ASCMD的基本用途中,它可以通过Execute Process Task(执行处理任务)应用于SSIS中。比如,前面的XMLA脚本可以保存在当地的目录文件中,Execute Process Task可用于控制流中来运行ASCMD.exe,标识出含有XMLA脚本的文件。图6-14给出了一个程序包示例,它的设计方式为在命令窗口打开的情况下在设计器中执行该程序包。
|
| (点击查看大图)图6-14 在打开命令窗口的情况下在设计器中执行程序包 |
|
| (点击查看大图)图6-15 显示ASCMD编辑器设置的Execute Process Task Editor界面 |
图中第1个参数为"-S localhost",它指定了运行该脚本的服务器。第2个参数"-d "Adventure Works DW""标识出了该脚本运行所依靠的SSAS数据。第3个参数"-i Dim_Process.xmla"则指定了文件的名称,该文件含有要运行的XMLA脚本。
此外,ASCMD.exe也支持动态地更新XMLA、MDX或DMX代码(并有变量通过参数传递到命令行中)内容的能力。这部分内容将在后面通过ASCMD.exe检查处理分区期间再详细讨论。
| 回书目 上一节 下一节 |
























