在 Microsoft SQL Server Analysis Services 中处理对象时,可以选择一个处理选项来控制针对每个对象发生的处理类型。 根据对象的不同以及对象自上次处理以来发生的变化,处理类型会有所不同。 如果启用 Analysis Services 自动选择处理方法,它将使用该方法以最少的时间将对象返回到完全处理的状态。
使用处理设置可以控制所处理的对象,以及用于处理这些对象的方法。 某些处理设置主要用于批处理作业。 有关批处理的详细信息,请参阅批处理(Analysis Services)。
注释
本主题适用于多维和数据挖掘解决方案。 有关表格解决方案的信息,请参阅 进程数据库、表或分区。
处理选项
下表描述了 Analysis Services 中可用的处理方法,并标识支持每个方法的对象。
模式 | 适用于 | DESCRIPTION |
---|---|---|
进程默认值 | 多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 | 检测数据库对象的进程状态,并执行必要的处理,以将未处理或部分处理的对象传送到完全处理的状态。 如果更改数据绑定,Process Default 将对受影响的对象执行 Process Full。 |
进程已满 | 多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 | 处理 Analysis Services 对象及其包含的所有对象。 对已处理的对象执行 Process Full 时,Analysis Services 会删除该对象中的所有数据,然后处理该对象。 当对对象进行结构更改(例如,添加、删除或重命名属性层次结构时)时,需要此类处理。 |
进程清除 | 多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 | 删除指定对象和任何较低级别的构成对象中的数据。 删除数据后,不会重新加载数据。 |
处理数据 | 维度、多维数据集、度量组和分区。 | 仅处理数据而不生成聚合或索引。 如果分区中存在数据,则会删除数据,然后再使用源数据重新填充分区。 |
进程添加 | 维度、度量值组和分区 注意:进程添加不适用于 Management Studio 中的维度处理,但可以编写 XMLA 脚本执行此作。 |
对于维度,添加新成员并更新维度属性标题和说明。 对于度量值组和分区,请仅将新可用的事实数据和处理添加到相关分区。 |
进程更新 | 尺寸 | 强制重新读取数据和更新维度属性。 将删除相关分区上的灵活聚合和索引。 |
进程索引 | 多维数据集、维度、度量值组和分区 | 为所有已处理的分区创建或重新生成索引和聚合。 对于未处理的对象,此选项将生成错误。 如果关闭延迟处理,则需要使用此选项进行处理。 |
进程结构 | 多维数据集和挖掘结构 | 如果多维数据集未处理,Analysis Services 将会在需要时处理该多维数据集的所有维度。 之后,Analysis Services 将仅创建多维数据集定义。 如果此选项应用于挖掘结构,则会使用源数据填充挖掘结构。 此选项与“完全处理”选项之间的区别在于,此选项不会迭代处理挖掘模型本身。 |
进程清除结构 | 采矿结构 | 从挖掘结构中删除所有训练数据。 |
处理设置
下表描述了创建进程作时可用的处理设置。
处理选项 | DESCRIPTION |
---|---|
并行 | 用于批处理。 此设置会导致 Analysis Services 将处理任务分派,以便在单个事务中并行运行。 如果失败,则结果是回滚所有更改。 可以显式设置最大并行任务数,或者让服务器决定最佳分布。 并行选项可用于加快处理速度。 |
顺序(事务模式) | 控制处理作业的执行行为。 使用 一个事务进行处理时,在处理作业成功后,所有更改都会被提交。 这意味着,受特定处理作业影响的所有 Analysis Services 对象在提交过程之前仍可用于查询。 这使得对象暂时不可用。 使用 “单独事务” 会导致处理作业中受到进程影响的所有对象在进程成功后立即无法用于查询。 这两个可用选项包括: 一个事务。 处理作业以事务方式运行。 如果处理作业中的所有进程都成功,则处理作业的所有更改都会提交。 如果某个进程失败,则处理任务所做的所有更改都会被回滚。 一个事务 是默认值。 单独的事务。 处理作业中的每个进程都作为独立作业运行。 如果一个进程失败,则只会回滚该进程,并且处理作业继续。 每个作业在作业结束时提交所有进程更改。 |
写回表选项 | 控制写回表在处理过程中的处理方式。 此选项适用于多维数据集中的写回分区,并使用以下选项: 使用现有。 使用现有的写回表。 这是默认值。 创建。 创建新的写回表,并导致进程失败(如果已存在)。 创建始终。 即使已存在写回表,也会创建新的写回表。 删除并替换现有表。 |
处理受影响的对象 | 控制处理作业的对象范围。 受影响的对象由对象依赖项定义。 例如,分区依赖于确定聚合的维度,但维度不依赖于分区。 您可以使用下列选项: False。 该作业处理作业中显式命名的对象以及所有相关的依赖对象。 例如,如果处理作业仅包含维度,则 Analysis Services 仅处理在作业中显式标识的那些对象。 如果处理作业包含分区,则分区处理会自动调用受影响维度的处理。 False 是默认设置。 True。 该作业处理作业中显式命名的对象、所有依赖对象以及受正在处理的对象影响的所有对象,而不会更改受影响对象的状态。 例如,如果处理作业仅包含维度,Analysis Services 还会对那些目前处于已处理状态的分区进行维度处理时所影响的所有分区进行处理。 当前处于未处理状态的受影响分区未处理。 但是,由于分区依赖于维度,如果处理作业仅包含分区,则分区处理会自动调用受影响维度的处理,即使维度当前处于未处理状态。 |
维度键错误 | 确定 Analysis Services 在处理过程中出现错误时采取的操作。 选择“使用默认错误配置”时,Analysis Services 将使用为正在处理的每个对象设置的错误配置。 如果对象设置为使用默认配置设置,Analysis Services 将使用为每个选项列出的默认设置。 选择 “使用自定义错误配置”时,可以选择以下作的值来控制错误处理行为: 关键错误动作。 如果记录中尚不存在键值,则会选择执行以下操作之一: 转换为未知。 密钥被理解为一个未知成员。 这是默认设置。 放弃记录。 记录被丢弃。 |
处理错误限制。 通过选择以下选项之一来控制所处理的错误数: 忽略错误计数。 这将使处理能够继续进行,无论错误数量多少。 出错时停止。 使用此选项可以控制另外两个设置。 错误数 允许将处理限制为特定数量的错误。 错误处理操作 允许您在达到 错误数量 时确定操作。 可以选择 “停止处理”,这会导致处理作业失败并回滚任何更改,或者 停止日志记录,使处理能够在不记录错误的情况下继续。 出错时停止 是默认设置,错误数 设置为 0,错误时的操作 设置为 停止处理。 |
|
特定错误条件。 可以设置以下选项来控制特定的错误处理行为: 找不到密钥。 当某个键值存在于分区中但相应维度中不存在时发生。 默认设置为 “报告并继续”。 其他设置是 “忽略”错误 和 “报告”和“停止”。 重复键。 当维度中存在多个键值时发生。 默认设置为 “忽略”错误。 其他设置是 报告并继续 和 报告并停止。 Null 键转换为未知。 当键值为 null 且 键错误操作 设置为 “转换为未知”时发生。 默认设置为 “忽略”错误。 其他设置是报告并继续和报告并停止。 不允许使用 Null 键。 当 键错误操作 设置为 丢弃记录时发生。 默认设置为 “报告并继续”。 其他设置是 “忽略”错误 和 “报告”和“停止”。 |