处理 Analysis Services 对象

作为管理员,要及时处理生产数据库中的 MicrosoftSQL ServerAnalysis Services 对象,使其保持最新状态。处理是指用关系数据源的数据填充 Analysis Services 对象的步骤或一系列步骤。根据对象类型的不同和所选处理选项的不同,处理也不相同。

处理作业运行时,可以访问受影响的 Analysis Services 对象以进行查询。在事务中运行处理作业,并且可以提交或回滚该事务。如果处理作业失败,则将回滚事务。如果处理作业成功,则提交更改时会在该对象上放置一个排他锁,表示该对象暂时不可用于查询或处理。在事务提交阶段,仍然可以向对象发送查询,但查询将进行排队,等待完成提交。有关处理过程中的锁定和解锁的详细信息,请参阅锁定数据库和解除数据库锁定 (XMLA)。有关与 Analysis Services 处理相关的性能问题的详细信息,请参阅 SQL Server 2005 Analysis Services 性能指南中的“优化处理性能”部分。

部署和处理

必须将 Analysis Services 对象发送到服务器进行部署,然后才能处理该对象。部署期间,会将 XMLA 脚本发送至 Analysis Services 实例,并且 XMLA 脚本会执行下列一项或多项操作:

  • CREATE 过程(如果 Analysis Services 数据库不存在)。

  • 用来更新数据库元数据的 ALTER 过程。

  • 用来处理数据库的 PROCESS 过程。

默认情况下,部署包括处理数据库中的所有对象。但是,可以更改选项以便在部署后进行处理。有关详细信息,请参阅部署 Analysis Services 项目

项目模式和联机模式

在 Business Intelligence Development Studio 中,在项目模式下设计数据库。要分析数据时,请将该项目部署到 Analysis Services 实例。部署过程会将项目元数据从 Business Intelligence Development Studio 发送至 Analysis Services 实例并创建 Analysis Services 数据库。在重新部署该项目之前,对 Business Intelligence Development Studio 项目做的更改不会影响 Analysis Services 数据库。

联机模式下从 Business Intelligence Development Studio 连接至 Analysis Services 数据库时,在 Business Intelligence Development Studio 中对对象做的更改会直接影响 Analysis Services 数据库,无需进行重新部署。

无论在项目模式还是在联机模式中,都必须处理 Analysis Services 对象以分析或浏览数据。有关项目和联机模式的详细信息,请参阅在生产环境中使用 Analysis Services 项目和数据库

已处理对象

处理会影响以下 Analysis Services 对象:度量值组、分区、维度、多维数据集、挖掘模型、挖掘结构和数据库。如果某个对象包含一个或多个对象,处理最高级别的对象将引起对所有低级别对象的级联处理。例如,多维数据集通常包含一个和多个度量值组(每个度量值组包含一个或多个分区)和维度。处理多维数据集会引起处理该多维数据集中所有度量值组和当前处于未处理状态的组成维度。有关处理 Analysis Services 对象的详细信息,请参阅处理(Analysis Services - 多维数据)

处理作业时,是否处理对象以及如何处理对象都取决于为该对象设置的处理选项。有关可应用于每个对象的特定处理选项的详细信息,请参阅处理选项和设置

启动作业以处理对象

若要处理 Analysis Services 对象,可以有多种选择。可以从对象资源管理器使用 SQL Server Management Studio,可以从解决方案资源管理器使用 Business Intelligence Development Studio,也可以运行用于 Analysis (XMLA) 脚本的 XML。有关详细信息,请参阅如何处理 Analysis Services 对象

如果喜欢使用编程方式,可以使用分析管理对象 (AMO) 来启动处理作业。有关详细信息,请参阅AMO OLAP 基本对象的编程

使用以上方法中的任意一种,都可以完全或增量方式处理组成多维数据集的所有对象,也可以指定仅处理需要处理的那些对象。

影响分析

处理 Analysis Services 对象之前,可以通过单击**“处理对象”对话框之一的“影响分析”**来分析对相关对象的影响。除非显式指定,否则,在处理对象时,不会处理依赖该对象的对象。因此,如果处理的维度用于多个多维数据集,则处理该维度时,这些多维数据集将处于未处理状态。这表示必须先处理这些多维数据集,然后才能查询。在这种情况下,可以利用批处理设置同时处理维度和相关多维数据集。有关同时处理相关对象的详细信息,请参阅Analysis Services 中的批处理

重新处理对象

必须先重新处理包含未处理元素的多维数据集,然后才能浏览。必须先处理 Analysis Services 中包含度量值组和分区的多维数据集,然后才能查询该多维数据集。如果多维数据集的组成维度处于未处理状态,则处理多维数据集会引起 Analysis Services 处理这些组成维度。对象经首次处理后,出现下列情况之一时,必须部分或全部重新处理:

  • 该对象的结构会改变,例如在事实数据表中删除列。

  • 对象的聚合设计发生变化。

  • 对象中的数据需要更新。

处理 Analysis Services 的对象时,可以选择处理选项,也可以由 Analysis Services 确定处理的适当类型。可用的处理方法随对象的类型不同而有差异。此外,可用的方法取决于对象在上一次处理后又发生了什么变化。如果启用了 Analysis Services 自动选择处理方法,则将使用以最少时间将对象返回已完全处理状态的方法。有关详细信息,请参阅 处理选项和设置

批处理

一批可以处理多个 Analysis Services 对象。使用批处理可以控制处理的对象和处理顺序,而无需执行完全处理操作。例如,最好处理度量值组中的某个分区以及影响该分区的维度。与数据库或多维数据集级处理不一样,只能选择要处理的对象。有关详细信息,请参阅 Analysis Services 中的批处理