Modifications avec rupture dans les fonctionnalités Analysis Services de SQL Server 2008

Cette rubrique décrit les changements avec rupture apportés à Analysis Services. Ces modifications peuvent interrompre les applications, scripts ou fonctionnalités fondés sur les versions antérieures de SQL Server. Il se peut que vous rencontriez ces problèmes lors d'une mise à niveau. Pour plus d'informations, consultez Utilisation du Conseiller de mise à niveau pour la préparation des mises à niveau.

Modifications avec rupture dans Analysis Services de SQL Server 2008

Le tableau suivant présente la liste des problèmes que vous pouvez rencontrer au cours de la mise à niveau d'une base de données SQL Server 2005 Analysis Services (SSAS)Analysis Services vers SQL Server 2008.

Problème

Description

La fonction shallow exists fonctionne différemment maintenant avec les jeux nommés qui contiennent des membres énumérés ou des jointures croisées d'enumsets.

Dans SQL Server 2005 Analysis Services (SSAS), la fonction shallow exists ne fonctionnait pas avec les jeux nommés qui contenant des membres énumérés ou des jointures croisées d'enumsets. Pour la compatibilité descendante avec la version Release d'origine et SP1 de SQL Server 2005 Analysis Services (SSAS), affectez à la la propriété de configuration « ConfigurationSettings\OLAP\Query\NamedSetShallowExistsMode » la valeur 1, ou pour la compatibilité descendante avec SQL Server 2005 Analysis Services (SSAS) SP2, affectez-lui la valeur 2.

Les fonctions VBA ne gèrent pas les valeurs NULL et vides comme elles étaient gérées dans SQL Server 2005 Analysis Services (SSAS)

Dans SQL Server 2005 Analysis Services (SSAS), les fonctions VBA retournaient la valeur 0 ou une chaîne vide lorsque des valeurs NULL ou vides étaient utilisées comme arguments. Dans SQL Server 2008, elles retournent la valeur NULL.

L'Assistant Migration échouera parce que DSO n'est pas installé par défaut.

Par défaut, SQL Server 2008 n'installe pas le composant de compatibilité descendante DSO (Decision Support Objects). Le package de compatibilité descendante est installé par défaut mais le composant DSO du package sera désactivé. Dans la mesure où l'Assistant Migration SQL Server Analysis Services compte sur ce composant, il échouera à moins que le composant ne soit installé. Pour installer les composants DSO, procédez comme indiqué ci-dessous :

  1. Ouvrez le Panneau de configuration.

  2. Dans Windows XP ou Windows Server 2003, sélectionnez Ajout/Suppression de programmes. Dans Windows Vista et Windows Server 2008, sélectionnez Programmes et fonctionnalités.

  3. Cliquez avec le bouton droit sur Compatibilité descendante de Microsoft SQL Server 2005et sélectionnez Modifier.

  4. Dans l'Assistant Installation de compatibilité descendante, cliquez sur Suivant.

  5. Dans la page Maintenance du programme, sélectionnez Modifier, puis cliquez sur Suivant.

  6. Dans la page Sélection de composant, si DSO (Decision Support Objects) n'est pas disponible, cliquez sur la flèche bas et sélectionnez Ce composant sera installé sur le disque dur local. Cliquez sur Suivant.

  7. Dans la page Prêt à modifier le programme, cliquez sur Installer.

  8. Une fois l'installation terminée, cliquez sur Terminer.

Vous pouvez supprimer DSO après la migration en suivant les étapes précédentes, en remplaçant l'option de DSO par Ce composant ne sera pas disponible.

Si le package de compatibilité descendante n'est pas installé, vous pouvez l'installer à partir du support de distribution de SQL Server 2008. Notez qu'il existe des versions pour chaque architecture cible (x86, x64, ia64). Ces versions se trouvent aux emplacements suivants :

x86\Setup\x86\SQLServer2005_BC.msi

x64\Setup\x64\SQLServer2005_BC .msi

ia64\Setup\ia64\SQLServer2005_BC.msi

Il n'est pas recommandé de mettre l'emplacement de partition dans le dossier des données.

Le serveur gère le dossier des données et crée ou supprime des dossiers à mesure que les objets sont créés, supprimés et modifiés. Par conséquent, il est fortement déconseillé de spécifier un emplacement de stockage de partition à l'intérieur du dossier des données, surtout dans les sous-dossiers des bases de données, des cubes et des dimensions. Bien que le serveur vous permette d'effectuer cette action à l'aide de CREATE ou ALTER, il affiche un avertissement. Lorsque vous mettez à niveau des bases de données de SQL Server 2005 Analysis Services vers SQL Server 2008 Analysis Services qui ont des emplacements de stockage de partition dans le dossier Data, la procédure fonctionne. La restauration ou la synchronisation nécessitera le déplacement des emplacements de stockage de partition à l'extérieur du dossier Data.

Modifications avec rupture dans Analysis Services de SQL Server 2005

Le tableau suivant présente la liste des problèmes que vous pouvez rencontrer au cours de la mise à niveau d'une base de données SQL Server 2000Analysis Services vers SQL Server 2008.

Problème

Description

Un objet dépendant d'un objet lié n'est pas migré

Les cubes liés et les dimensions liées ne sont pas migrés par le Conseiller de mise à niveau dans MicrosoftSQL Server 2008Analysis Services. Par conséquent, les objets qui font référence à un cube lié ou à une dimension liée ne peuvent pas être migrés, car l'objet lié sur lequel l'objet est basé ne peut pas être migré. Par exemple, un modèle d'exploration de données OLAP basé sur un cube lié ne peut pas être migré car le cube lié sur lequel le modèle d'exploration de données est basé ne peut pas être migré.

La fonction Autoexist peut générer des résultats de requête différents lorsque plusieurs hiérarchies font l'objet d'une migration vers la même dimension

Lorsque plusieurs hiérarchies ou dimensions virtuelles sont migrées vers la même dimension MicrosoftSQL Server 2008Analysis Services, l'interrogation des hiérarchies migrées contenues dans la dimension peut produire des résultats différents de ceux obtenus avec l'interrogation des mêmes hiérarchies lorsqu'elles étaient dans SQL Server 2000Analysis Services, parce que la fonction Autoexist supprime automatiquement les tuples qui n'existent pas dans la dimension d'un cross join d'ensembles contenant les membres des hiérarchies migrées. Pour résoudre ce problème, vous devez vérifier les calculs qui impliquent plusieurs hiérarchies de la même dimension.

L'expérience de navigation est différente lorsque des niveaux désactivés sont utilisés

Depuis SQL Server 2005Analysis Services, les niveaux masqués ou désactivés dans les hiérarchies ne sont plus pris en charge. Les niveaux masqués ou désactivés sont migrés en tant que niveaux visibles et activés. Les calculs concernant les hiérarchies contenant de tels niveaux risquent de renvoyer des résultats inattendus. Après la mise à niveau, examinez et vérifiez les calculs qui impliquent des hiérarchies qui contenaient précédemment des niveaux masqués ou désactivés.

La création de compartiments peut être différente pour les niveaux de regroupement

Depuis MicrosoftSQL Server 2005 Analysis Services (SSAS), le regroupement automatique peut retourner un ensemble différent de groupes de membres. Les calculs qui reposent sur ces groupes de membres peuvent renvoyer des résultats inattendus. Après la mise à niveau, examinez et vérifiez les calculs qui reposent sur les groupes de membres.

La conversion d'une langue neutre vers une langue spécifique peut produire des résultats inattendus

Dans SQL Server 2000Analysis Services et les versions antérieures, Analysis Services utilise uniquement des identificateurs de langue neutres, également connus sous le nom d'identificateurs de langue principaux, par exemple LANG_ENGLISH (0x09) pour l'anglais et LANG_CHINESE (0x04) pour le chinois.

Pour prendre en charge les options de traduction et de classement, Analysis Services utilise maintenant des identificateurs de langue spécifiques, qui sont une combinaison d'un identificateur de langue principal et d'un identificateur de sous-langue utilisé pour une culture spécifique. Par exemple, la combinaison de l'identificateur de langue principal LANG_ENGLISH (0x09) et de l'identificateur de sous-langue SUBLANG_ENGLISH_AUS (0x03) correspond à l'anglais australien.

La migration d'identificateurs de langue neutre vers des identificateurs de langue spécifique peut modifier le comportement attendu en matière de traduction et de classement, ce qui risque de produire des résultats inattendus. Après avoir mis à niveau, examinez et validez des objets tels que les dimensions, les hiérarchies et les membres pour lesquels l'identificateur de langue a changé.

Les commandes de rôle de cube ne sont pas prises en charge

MicrosoftSQL Server 2008Analysis Services ne prend pas en charge les objets de commande sur les rôles de cube et ne fait pas migrer les commandes des versions précédentes.

L'agrégation des formules de niveau personnalisées est différente

Si un cube contient une dimension avec des formules de niveau personnalisées ainsi que des dimensions avant et après avec des formules de membre personnalisées et/ou des opérateurs unaires, il se peut qu'il retourne des résultats différents de ceux des versions précédentes de Analysis Services. Cette situation se produit car le calcul des règles de précédence a changé.

Les formules de membre personnalisées et les formules de cumul personnalisé font l'objet d'une migration vers un script MDX

Dans les versions antérieures de Analysis Services, les propriétés suivantes sont prises en charge dans les dimensions et les niveaux : les formules de cumul personnalisé, les formules de membre personnalisées, les formules Tous les membres et les formules de niveau personnalisées. Dans SQL Server 2005Analysis Services, ces propriétés ont été remplacées par les fonctionnalités prises en charge dans les scripts MDX (Multidimensional Expressions) et sont mises à niveau vers des scripts MDX lors de la migration.

Les agrégations personnalisées ne peuvent pas faire l'objet d'une migration

Les agrégations générées manuellement dans les versions antérieures d'Analysis Services ne font pas l'objet d'une migration vers MicrosoftSQL Server 2008Analysis Services. Seules les agrégations générées par l'Assistant Création de stockage sont migrées. Pour résoudre ce problème, créez manuellement les agrégations à l'aide de scripts XMLA.

Les membres de données existent toujours dans les dimensions de type parent-enfant

Les versions antérieures d'Analysis Services vous donnaient la possibilité de ne pas inclure les membres de données dans les dimensions de type parent-enfant. La propriété DataMembers d'une dimension dans les versions antérieures de Analysis Services a pris en charge trois options : Aucun, Masqué ou Visible. L'option Aucun n'est pas disponible dans MicrosoftSQL Server 2008Analysis Services. Les membres de données sont toujours inclus dans les attributs parents. Pour masquer les membres de données dans les dimensions parent-enfant, vous pouvez définir la propriété DataMembers d'une dimension avec la valeur Masqué. La propriété MembersWithData de l'attribut parent prend en charge uniquement deux options : NonLeafDataHidden ou NonLeafDataVisible.

Les commandes de rôle de base de données ne sont pas prises en charge

MicrosoftSQL Server 2008Analysis Services ne prend pas en charge les objets de commande sur les rôles de base de données et ne fait pas migrer les commandes des versions précédentes d'Analysis Services.

DefaultMember est migré dans le script MDX

Dans les versions antérieures d'Analysis Services, le membre par défaut d'une dimension est spécifié par une expression MDX (Multidimensional Expressions) contenue dans la propriété DefaultMember de la dimension. Dans MicrosoftSQL Server 2005 Analysis Services (SSAS), cette propriété a été remplacée par une fonctionnalité prise en charge dans les scripts MDX et est mise à niveau vers un script MDX lors de la migration.

Le changement du nom de dimension et de hiérarchie à la suite d'une migration peut générer des résultats de requête différents

Dans SQL Server 2000Analysis Services, les hiérarchies de dimension sont représentées de manière interne en tant que dimensions distinctes et une convention d'affectation des noms permet de les identifier. La migration vers MicrosoftSQL Server 2008 risque d'entraîner la création d'une dimension distincte avec un nouveau nom pour chaque hiérarchie de dimension au lieu d'associer les hiérarchies de dimension entre elles sous la dimension parente ; en effet, la création automatique donne lieu à des règles de sécurité différentes de celles appliquées dans les versions antérieures d'Analysis Services.

Les paramètres d'extraction ne sont pas migrés

Bien que l'extraction existe dans MicrosoftSQL Server 2008Analysis Services, les paramètres d'extraction ne sont pas migrés à partir des versions antérieures d'Analysis Services.

Les niveaux masqués sont visibles une fois la migration effectuée

Analysis Services ne prend plus en charge les niveaux cachés ou désactivés dans les hiérarchies. Ces derniers sont migrés en tant que niveaux visibles et activés. Les calculs concernant les hiérarchies contenant de tels niveaux risquent de renvoyer des résultats inattendus.

Des objets non valides entraînent l'échec de la migration

La base de données contient des objets non valides. La migration ne peut pas aboutir lorsque la base de données contient des objets non valides.

Les cubes liés ne sont pas migrés

Les versions antérieures d'Analysis Services prenaient en charge les cubes liés. Dans MicrosoftSQL Server 2005 Analysis Services (SSAS), cette fonctionnalité a été remplacée par des dimensions liées et des groupes de mesures liés.

Les noms uniques de membres risquent de changer durant la migration

Analysis Services tente de conserver les noms uniques des membres durant la migration ; toutefois, dans certaines circonstances, le nom unique d'un membre est modifié. Si tel est le cas, les applications clientes, les expressions MDX (Multidimensional Expressions) et les autres propriétés qui dépendent des noms uniques de membres risquent de produire des résultats inattendus.

Les sources de données ODBC ne sont pas prises en charge

Les versions précédentes d'Analysis Services permettaient d'utiliser les sources de données ODBC ; cependant, cette fonctionnalité n'est plus prise en charge.

Les partitions distantes ne sont pas migrées

Les partitions distantes ne sont pas migrées de MicrosoftSQL Server 2000Analysis Services vers MicrosoftSQL Server 2008Analysis Services. Mettez à niveau le serveur vers SQL Server 2008Analysis Services, puis créez manuellement les partitions distantes.

Certains paramètres de l'algorithme de modèle d'exploration de données ne sont pas pris en charge

Les versions antérieures d'Analysis Services prennent en charge l'utilisation du paramètre MINIMUM_LEAF_CASES avec l'algorithme Microsoft Decision Trees et le paramètre MINIMUM_CLUSTER_CASES avec l'algorithme Microsoft Clustering. Depuis SQL Server 2005Analysis Services, ces deux paramètres ont été renommés MINIMUM_SUPPORT. Si ces paramètres ont été utilisés dans les modèles d'exploration de données créés à l'aide de la version antérieure de Analysis Services, les paramètres ne sont pas migrés.

Le comportement de certaines fonctions MDX a changé

En raison des améliorations et des modifications apportées au langage MDX (Multidimensional Expressions) de MicrosoftSQL Server 2005 Analysis Services (SSAS), certaines fonctions MDX ne sont plus prises en charge ou n'ont pas le même comportement que dans les versions antérieures d'Analysis Services.

La commande CREATE KPI introduit un nouveau mot clé

Un nouveau mot clé, KPI, a été introduit pour la commande CREATE KPI. Si des objets existants ont le nom KPI, le nouveau mot clé sera en conflit avec eux.

La définition du niveau supérieur pour la sécurisation d'une dimension n'est pas prise en charge

Dans les versions antérieures d'Analysis Services, vous pouviez sécuriser une dimension de sorte que le niveau le plus élevé visible par un utilisateur ne soit pas le niveau le plus élevé de la hiérarchie. Les membres sécurisés via la définition du niveau supérieur seront visibles une fois la migration effectuée.

Les DLL des sources UDF ne sont ni migrées ni inscrites.

Les fonctions définies par l'utilisateur (UDF) inscrites dans les versions antérieures d'Analysis Services ne sont pas migrées.

Les opérateurs unaires ne sont pas complètement pris en charge dans les hiérarchies qui ne sont pas de type parent-enfant

Depuis MicrosoftSQL Server 2005 Analysis Services (SSAS), l'utilisation d'opérateurs unaires dans les hiérarchies qui ne sont pas de type parent-enfant n'est pas prise en charge, sauf s'il existe une relation d'attribut entre les attributs des niveaux de la hiérarchie.

Les cubes virtuels ne sont pas pris en charge

Les versions antérieures d'Analysis Services prenaient en charge les cubes virtuels, c'est-à-dire une vue associant un sous-ensemble de mesures et de dimensions à partir d'un ou de plusieurs cubes standard ou liés. Dans MicrosoftSQL Server 2005 Analysis Services (SSAS), cette fonctionnalité a été remplacée par des groupes de mesures liés. Lors la mise à niveau, les cubes virtuels sont migrés en tant que groupes de mesures liés.

Le contenu des tables d'écriture différée n'est pas migré

La structure des tables d'écriture différée créées par les versions antérieures d'Analysis Services a été mise à jour dans MicrosoftSQL Server 2005 Analysis Services (SSAS). Les données des tables d'écriture différée créées par les versions antérieures d'Analysis Services ne peuvent pas être migrées vers la nouvelle structure de table d'écriture différée.