Partager via


dimensions Write-Enabled

Important

Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Les données d’une dimension sont généralement en lecture seule. Toutefois, pour certains scénarios, vous souhaiterez peut-être activer une dimension en écriture. Dans Microsoft SQL Server Analysis Services, l’activation en écriture d’une dimension permet aux utilisateurs professionnels de modifier le contenu de la dimension et de voir l’impact immédiat des modifications sur les hiérarchies de la dimension. Toute dimension basée sur une table unique peut être activée en écriture. Dans une dimension compatible avec l’écriture, les utilisateurs professionnels et les administrateurs peuvent modifier, déplacer, ajouter et supprimer des membres d’attribut dans la dimension. Ces mises à jour sont appelées collectivement écriture différée de dimension.

Analysis Services prend en charge l’écriture différée de dimension sur tous les attributs de dimension et tout membre d’une dimension peut être modifié. Pour un cube ou une partition prenant en charge l’écriture, les mises à jour sont stockées dans une table d’écriture différée distincte des tables sources du cube. Toutefois, pour une dimension prenant en charge l’écriture, les mises à jour sont enregistrées directement dans la table de la dimension. En outre, si la dimension avec écriture est incluse dans un cube avec plusieurs partitions où certaines ou toutes leurs sources de données ont des copies de la table de dimension, seule la table de dimension d’origine est mise à jour pendant un processus d’écriture différée.

Les dimensions compatibles avec l’écriture et les cubes compatibles avec l’écriture ont des fonctionnalités différentes mais complémentaires. Une dimension avec écriture permet aux utilisateurs professionnels de mettre à jour les membres, tandis qu’un cube avec écriture leur donne la possibilité de mettre à jour les valeurs de cellule. Bien que ces deux fonctionnalités soient complémentaires, vous n’avez pas besoin d’utiliser les deux fonctionnalités en combinaison. Une dimension n’a pas besoin d’être incluse dans un cube pour que l’écriture différée de dimension se produise. Une dimension prenant en charge l’écriture peut également être incluse dans un cube qui n’est pas activé en écriture. Vous utilisez différentes procédures pour activer les dimensions et les cubes en écriture, et pour maintenir leur sécurité.

Les restrictions suivantes s’appliquent à l’écriture différée de dimension :

  • Lorsque vous créez un membre, vous devez inclure chaque attribut dans une dimension. Vous ne pouvez pas insérer un membre sans spécifier de valeur pour l’attribut clé de la dimension. Par conséquent, la création de membres est soumise à des contraintes (telles que des valeurs de clé non Null) définies sur la table de dimension.

  • L’écriture différée de dimension est prise en charge uniquement pour les schémas en étoile. En d’autres termes, une dimension doit être basée sur une table de dimension unique directement liée à une table de faits. Une fois que vous avez activé une dimension, Analysis Services valide cette exigence lorsque vous effectuez un déploiement sur une base de données Analysis Services existante ou lorsque vous générez un projet Analysis Services.

Tout membre existant d’une dimension d’écriture différée peut être modifié ou supprimé. Lorsqu’un membre est supprimé, la suppression est en cascade pour tous les membres enfants. Par exemple, dans une dimension Client qui contient les attributs CountryRegion, Province, City et Customer, la suppression d’un pays/région supprime toutes les provinces, villes et clients qui appartiennent au pays/région supprimé. Si un pays/région n’a qu’une seule province, la suppression de cette province supprimerait également le pays/la région.

Les membres d’une dimension d’écriture différée ne peuvent être déplacés que dans le même niveau. Par exemple, une ville peut être déplacée au niveau de la ville dans un autre pays/région ou province, mais une ville ne peut pas être déplacée vers le niveau Province ou CountryRegion. Dans une hiérarchie parent-enfant, tous les membres sont des membres feuilles et, par conséquent, un membre peut être déplacé vers n’importe quel niveau autre que celui du (All) niveau.

Si un membre d’une hiérarchie parent-enfant est supprimé, les enfants du membre sont déplacés vers le parent du membre. Les autorisations de mise à jour sur la table relationnelle sont requises sur le membre supprimé, mais aucune autorisation n’est requise sur les membres déplacés. Lorsqu’une application déplace un membre dans une hiérarchie parent-enfant, l’application peut spécifier dans l’opération UPDATE si les descendants du membre sont déplacés avec le membre ou sont déplacés vers le parent du membre. Pour supprimer de manière récursive un membre dans une hiérarchie parent-enfant, un utilisateur doit disposer d’autorisations de mise à jour sur la table relationnelle du membre et de tous les descendants du membre.

Remarque

Les mises à jour apportées à l’attribut parent dans une hiérarchie parent-enfant ne doivent pas inclure de mises à jour d’autres propriétés ou attributs.

Toutes les modifications apportées à une dimension entraînent la modification de la structure de dimension. Chaque modification apportée à une dimension est considérée comme une transaction unique, nécessitant un traitement incrémentiel pour mettre à jour la structure de dimension. Les dimensions compatibles avec l’écriture ont les mêmes exigences de traitement que toute autre dimension.

Remarque

L’écriture différée de dimension n’est pas prise en charge par les dimensions liées.

Sécurité

Les seuls utilisateurs professionnels qui peuvent mettre à jour une dimension prenant en charge l’écriture sont ceux des rôles de base de données Analysis Services qui ont reçu l’autorisation de lecture/écriture sur la dimension. Pour chaque rôle, vous pouvez contrôler quels membres peuvent et ne peuvent pas être mis à jour. Pour que les utilisateurs professionnels mettent à jour les dimensions compatibles avec l’écriture, leur application cliente doit prendre en charge cette fonctionnalité. Pour ces utilisateurs, une dimension prenant en charge l’écriture doit être incluse dans un cube qui a été traité depuis la dernière modification de la dimension. Pour plus d’informations, consultez Autorisation de l’accès aux objets et aux opérations (Analysis Services).

Les utilisateurs et les groupes inclus dans le rôle Administrateurs peuvent mettre à jour les membres d’attribut d’une dimension prenant en charge l’écriture, même si la dimension n’est pas incluse dans un cube.

Voir aussi

Propriétés de dimension de base de données
Write-Enabled partitions
Dimensions (Analysis Services - Données multidimensionnelles)