Symptômes
Lorsque vous effectuez une opération de traitement sur une dimension dans SQL Server Analysis Services et que le service est soumis à une sollicitation de la mémoire, la dimension ne peut pas être traitée et les données peuvent être endommagées.
Remarque Ce problème se produit dans une condition de concurrence relativement rare qui n’est pas omniprésente. Lorsque ce problème se produit, vous pouvez rencontrer des relations de dimension incorrectes ou des échecs ProcessUpdate.
Ce problème a été observé dans les conditions suivantes :
L’utilisation de la mémoire d’Analysis Services dépasse la limite de mémoire élevée configurée pour le service pendant l’opération de traitement, ce qui entraîne une propre agressive des pages mémoire d’Analysis Services.
Aucune erreur ou message n’est enregistré concernant le problème pendant le traitement, et le traitement de dimension n’échoue pas. Au lieu de cela, le traitement est terminé et les données endommagées sont écrites dans le fichier de dimension.
Le problème est plus susceptible d’apparaître sous forme de relations d’attribut de dimension incorrectes pour les membres de dimension nouvellement ajoutés. Par exemple : un membre de la dimension Produit apparaît sous la catégorie ou sous-catégorie incorrecte.
Une autre façon dont cette corruption peut se révéler : lors d’un ProcessUpdate ultérieur sur une dimension qui contient des relations d’attribut rigides, le traitement de la dimension échoue avec le message d’erreur suivant :
Remarque
Les relations rigides entre les attributs ne peuvent pas être modifiées pendant le traitement incrémentiel d’une dimension.
Remarque Cette erreur peut également se produire pour des raisons légitimes, telles que des modifications apportées à la source de données sous-jacente. Cependant, si les données sous-jacentes dans la table ou la vue qui sert de source à la dimension n’ont pas changé, cela peut être la cause de l’erreur.
Le problème ne se produit pas toujours lorsque le serveur est soumis à une forte sollicitation de la mémoire, mais il se produit parfois si le thread de nettoyage éjecte une page de données pour les nouveaux membres de dimension ajoutés avant la fin du traitement de la dimension. Il s’agit d’une condition de concurrence relativement rare entre le thread de traitement de dimension et les threads de nettoyage de mémoire dans le service Analysis Services.
Une fois ce correctif installé, le problème ne se produit plus, mais les objets affectés doivent être traités à nouveau pour résoudre le problème.
- Un ProcessUpdate sur une dimension impactée lorsque le serveur n’est pas soumis à une sollicitation de mémoire corrigera l’endommagement causé par ce problème pour toutes les relations flexibles. Pour une dimension affectée qui a une ou plusieurs relations d’attribut rigides, le traitement échoue avec l’erreur mentionnée ci-dessus.
- Pour corriger le problème pour les dimensions qui contiennent des relations rigides, modifiez les relations d’attribut pour la dimension affectée sur le serveur et exécutez une ProcessUpdate. La relation attributaire peut alors être rétablie en rigide et les index des groupes de mesures qui utilisent la cote peuvent être reconstruits.
Résolution
Ce problème a été résolu pour la première fois dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 14 pour SQL Server 2014
Mise à jour cumulative 4 pour SQL Server 2012 Service Pack 3
Mise à jour cumulative 13 pour SQL Server 2012 SP2
Mise à jour cumulative 7 pour SQL Server 2014 Service Pack 1
À propos des mises à jour cumulatives pour SQL Server
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2014
Dernière mise à jour cumulative pour SQL Server 2012 SP3
Dernière mise à jour cumulative pour SQL Server 2012 SP2
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Références
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.