迁移注意事项(Analysis Services - 多维数据)

将 MicrosoftSQL ServerAnalysis Services 的早期版本迁移到 SQL Server 2008Analysis Services 时,必须注意特性、功能、结构和行为的更改。本概述主题提供与数据挖掘和 Analysis Services 引擎相关的常见迁移注意事项的有关信息。有关迁移注意事项的具体方面的详细信息,请参阅下列主题:

Analysis Services 迁移注意事项

Analysis Services 对象

下表说明了 SQL Server 2000Analysis Services 对象与 SQL Server 2008Analysis Services 对象的对应关系。

SQL Server 2000Analysis Services 对象

SQL Server 2008Analysis Services 对象

详细信息

聚合

聚合

仅迁移混合 OLAP (HOLAP) 与多维 OLAP (MOLAP) 分区的聚合。

Analysis Services 数据库

Analysis Services 数据库

无。

命令

MDX 脚本

多维表达式 (MDX) 脚本是为包含命令集合的对象编写的。

多维数据集

多维数据集

还为共享同一数据源的所有维度、虚拟维度和多维数据集创建一个数据源视图。然后为每个挖掘模型和数据挖掘维度创建一个数据源视图。

多维数据集和数据库角色命令

不迁移

无。

多维数据集角色

多维数据集权限

不迁移维度和单元权限。

数据挖掘维度

数据挖掘维度

还为每个数据挖掘维度创建一个数据源视图。

数据源

数据源

无。

数据库角色

数据库角色和数据库权限

无。

维度

具有单一层次结构的维度

无。

共享同一名称前缀的维度(代表多个层次结构)

单独的维度,每个维度具有单一层次结构。

引用原始层次结构名称的 MDX 表达式不再有效。

层次结构中的级别

维度中的属性,以及用户定义层次结构中的某个级别。

无。

链接多维数据集

不迁移

无。

某个级别的成员属性

某个级别的成员属性

无。

挖掘模型

挖掘模型

在数据库中为每个挖掘模型创建一个数据源视图。

挖掘模型角色

迁移为两个权限:一个用于挖掘结构,另一个用于挖掘模型。

无。

一个维度中的多个父子层次结构

单一父子层次结构,由父属性中的设置定义。

引用原始层次结构的 MDX 表达式不再有效。一个 SQL Server 2008Analysis Services 维度只能有一个父子层次结构。

远程分区

不迁移。

在远程分区所在的服务器得到升级之前,或包含远程分区的数据库被迁移之前,远程分区不可用。包含远程分区的数据库可以单独迁移。必须更新远程分区的定义才能识别新服务器实例的名称。

存储库

XML 格式的对象定义语言 (ODL) 文件

无。

虚拟多维数据集

链接度量值组

无。

虚拟维度

源维度的层次结构

虚拟父子维度迁移为单独的维度,因为父子维度不能有多个层次结构。

自定义级别公式

在 SQL Server 2005 Analysis Services (SSAS) 中,赋值取代了计算单元和自定义级别公式。计算单元在 SQL Server 2008Analysis Services 中是受支持的并从 SQL Server 2000Analysis Services 中按照定义迁移过来,而自定义级别公式则迁移为赋值。

在 SQL Server 2008Analysis Services 中,计算传递随每次传递自动递增。因此,如果多维数据集包含自定义级别公式,请一定要验证所得结果与预期结果是否相同。

数据源视图

在 SQL Server 2005 Analysis Services (SSAS) 中引入了数据源视图。数据源视图不同于 SQL Server 2000Analysis Services 中的多维数据集架构,因为数据源视图是源数据的逻辑表示形式,可使用这些源数据定义多个多维数据集,而 SQL Server 2000Analysis Services 中的多维数据集架构是一种物理表示形式,表示每个多维数据集中各表之间的关系。

迁移多层次结构维度

SQL Server 2005 Analysis Services (SSAS) 与 SQL Server 2000Analysis Services 相比,多层次结构维度的模型已有了改变。如果可能,此类层次结构将迁移为同一维度,但是也有无法迁移为同一维度的情况。在这种情况下,依赖原始维度层次结构的计算可能会失败。

SQL 语法

SQL Server 2005 Analysis Services (SSAS) 中声明 SQL 查询的方法已发生变化。联机丛书中使用了新语法的巴科斯-诺尔范式 (BNF)。

架构行集更改

SQL Server 2005 Analysis Services (SSAS) 中扩充了许多架构行集,以便提供附加信息。大多数情况下,现有行集和列的位置及含义仍与 SQL Server 2000Analysis Services 中完全相同。下表说明了在 SQL Server 2005 Analysis Services (SSAS) 中进行的架构行集更改。

架构

更改

DBSCHEMA_TABLES_INFO

全部

不再支持此架构。

MDSCHEMA_CELL_FORMULAS

全部

不再支持此架构。

MDSCHEMA_DIMENSIONS

DIMENSION_CARDINALITY

此列返回维度键属性成员的数目。

MDSCHEMA_MEMBERS

LEVELS_LIST

此架构列为 Null。

MDSCHEMA_MEMBERS

MEMBER_ORDINAL

不推荐使用此列。返回的将是值 0 而不是成员序号。

唯一成员名称

在 SQL Server 2005 Analysis Services (SSAS) 中,唯一成员名称进行了更新,现在这些名称与 SQL Server 2000Analysis Services 中的那些名称不同。由于对唯一成员名称存在限制,使用原始的唯一名称从成员架构中检索结果时,返回的结果可能与在 SQL Server 2000Analysis Services 中执行此操作返回的结果不同。

数据挖掘迁移注意事项

迁移向导会将所有挖掘模型从 SQL Server 2000Analysis Services 数据库传输到目标 SQL Server 2008Analysis Services 数据库。对于源数据库中的每个挖掘模型,迁移向导会在目标数据库中创建一个新的挖掘结构。挖掘结构只包含一个模型,并且该模型的名称与源数据库中挖掘模型的名称相同。

若要将各个挖掘模型从 SQL Server 2000Analysis Services 迁移到 SQL Server 2008Analysis Services 实例,可以使用预测模型标记语言 (PMML) 来完成。下面的示例演示如何以 XML 脚本的形式检索 SQL Server 2000Analysis Services 挖掘模型的 PMML 表示形式:

SELECT * FROM [Model_Name].PMML

检索 OLE DB 架构 DMSCHEMA_MINING_MODEL_XML,也可以获取这一信息。

通过使用类似于以下内容的语句,您可以用 PMML 脚本在 SQL Server 2008Analysis Services 实例中创建新的挖掘模型:

CREATE MINING MODEL [Model_Name] FROM PMML '<PMML script>'

如果使用 Analysis Services 迁移向导迁移挖掘模型,请注意该向导仅支持对元数据的迁移。因此,迁移后的挖掘模型是未经处理的。但是,这些模型仍包含原始数据绑定,因此,迁移完成后,可以在 SQL Server 2008Analysis Services 中处理它们。另一方面,如果使用 PMML 来迁移模型,则原始数据绑定不会被保留。因此,您无法重新处理迁移后的模型。尽管如此,这些模型仍可供使用,因为 PMML 包含源模型所发现的模式和走向。

已知的数据挖掘迁移问题:

  • 无法迁移具有多个事例级别键,且其中的多个键在嵌套表中的挖掘模型。

  • 无法迁移使用聚合数据挖掘访问接口创建的挖掘模型。