迁移注意事项(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 包含源模型所发现的模式和走向。
已知的数据挖掘迁移问题:
无法迁移具有多个事例级别键,且其中的多个键在嵌套表中的挖掘模型。
无法迁移使用聚合数据挖掘访问接口创建的挖掘模型。