Messages d’erreur lorsque vous essayez de traiter une base de données ou un cube dans SQL Server 2005 Analysis Services : « Impossible de trouver la clé de l’attribut » et « l’enregistrement a été ignoré car la clé de l’attribut n’a pas été trouvée »

Symptômes

Dans Microsoft SQL Server 2005 Analysis Services, vous tentez de traiter une base de données ou un cube à l’aide de SQL Server Business Intelligence Development Studio ou SQL Server Management Studio. Toutefois, l’opération échoue et vous recevez des messages d’erreur suivants :
Message d'erreur 1
Erreurs dans le moteur de stockage OLAP : Impossible de trouver la clé de l’attribut : Table : TableName, colonne : ColumnName1, valeur : Value1. Tableau : TableName, colonne : ColumnName2, valeur : Value2.
Message d'erreur 2
Erreurs dans le moteur de stockage OLAP : l’enregistrement a été ignoré, car la clé de l’attribut n’a pas été trouvée. Attribut : généré attribut X de Dimension : NomDimension à partir de la base de données : DatabaseName, Cube : nom du cube, le groupe de mesures : MeasureGroupName, Partition : PartitionName, enregistrement : RecordNumber.

Cause

Ce problème se produit car une table de faits pour un cube comporte un ou plusieurs enregistrements qui contiennent une clé d’attribut, et cette clé de l’attribut n’existe pas dans la table de dimension correspondante. Ce problème peut se produire lorsque vous n’avez pas traité la dimension correspondante avant de traiter le cube, ou lorsque les tables sous-jacentes ont réellement des données qui ne correspondent pas. Si la « valeur : « champ de message Aucun numéro après, la table de faits doit contenir des données de type null.

Résolution

Pour résoudre ce problème, vous devez vérifier que votre source de données pointe vers les emplacements suivants :
  • La bonne sous-jacent instance source de données, tel qu’une instance de SQL Server 2005
  • La base de données correcte.
Ensuite, corrigez les enregistrements sous-jacents qui contiennent la clé d’attribut qui pose problème. Pour ce faire, utilisez une des méthodes suivantes.

Utiliser une clé d’attribut existante

Mettre à jour les enregistrements pour utiliser un attribut clé en exécutant une instruction semblable au suivant :
Update <TableName> set <KeyName>=<ExistingKeyValue> where <KeyName>=<BadKeyValue> or <KeyName> IS NULL

Faire correspondre les valeurs de clé dans la table de faits

Insérer des lignes dans la table de dimension pour faire correspondre les valeurs de clé dans la table de faits. Si les valeurs null existent, utilisez une des méthodes suivantes :
  • Remplacez les valeurs null par des valeurs réelles.
  • Configurer l’ou les dimensions d’avoir un membre inconnu en définissant les propriétés UnknownMember et UnknownMemberName . Vous pouvez rendre le membre inconnu soit affichée ou masquée selon vos besoins. Pour plus d’informations sur la façon de définir le membre inconnu, visitez le site Web de Microsoft Developer Network (MSDN) à l’adresse suivante :
  • Dans la boîte de dialogue Modifier les paramètres , utilisez les paramètres suivants :
    • La propriété KeyErrorAction la valeur ConvertToUnknown.
    • La propriété NullKeyNotAllowed la valeur IgnoreError ou ReportAndContinue.
    • La propriété NullKeyConvertedtoUnknown la valeur IgnoreError ou ReportAndContinue.
    • Cliquez sur le nombre d’erreurs Ignorer.
    Vous pouvez définir ces paramètres à l’échelle de l’instance, ou vous pouvez utiliser une configuration personnalisée pour chaque dimension.

Ignorer l’erreur

Si vous souhaitez traiter la base de données ou le cube sans corriger les données, vous pouvez définir la configuration d’erreur pour l’opération de traitement d’ignorer l’erreur. Vous devez uniquement procéder comme une solution de contournement temporaire lorsque vous corrigez les données sous-jacentes. Dans le cas contraire, vous pouvez recevoir des résultats inattendus à partir de vos requêtes d’expressions multidimensionnelles (MDX). Pour ignorer les erreurs, procédez comme suit :
  1. Dans la boîte de dialogue Base de données de processus – DatabaseName ou la boîte de dialogue Traiter le Cube – nom du cube , cliquez sur Modifier les paramètres.
  2. Dans la boîte de dialogue Modifier les paramètres , cliquez sur l’onglet erreurs de clé de Dimension .
  3. Cliquez sur utiliser la configuration personnalisée d’erreur.
  4. Dans la liste clé introuvable , remplacez la valeur par défaut rapport et continuer à Ignorer erreur.
  5. Cliquez sur le nombre d’erreurs Ignorer.
  6. Cliquez sur OK pour fermer la boîte de dialogue Modifier les paramètres .
  7. Cliquez sur OK pour traiter la base de données ou le cube.
En outre, vous pouvez définir la configuration d’erreur pour le cube ou la partition pour ignorer l’erreur. Pour plus d’informations, visitez le site Web MSDN suivant :

État

Ce comportement est voulu par la conception.
Propriétés

ID d'article : 922673 - Dernière mise à jour : 17 janv. 2017 - Révision : 1

Commentaires