web-dev-qa-db-fra.com

SSAS Tabular: ImpersonationMode qui n'est pas pris en charge pour les opérations de traitement

J'ai une instance tabulaire SQL 2016 SP1 SSAS. J'ai déployé un modèle avec les propriétés suivantes

enter image description here

enter image description here

Lorsque j'essaie de traiter la base de données ou une table, j'obtiens une erreur "La source de données contient un ImpersonationMode qui n'est pas pris en charge pour les opérations de traitement" .

Mais si je modifie les informations d'emprunt d'identité sur les propriétés de connexion pour utiliser le compte de service au lieu de l'utilisateur actuel, cela fonctionne bien.

Nous n'obtenons pas non plus ce problème si nous changeons le mode par défaut en DirectQuery au lieu d'importer, mais nous devons utiliser Importer car nous devons utiliser la fonction de nom d'utilisateur DAX pour la sécurité au niveau des lignes.

Je suis administrateur sur l'instance SSAS et également administrateur sur l'instance SQL Server qui est la source de données. Pourquoi ne puis-je pas traiter le modèle tabulaire SSAS en tant qu'utilisateur?

5
Adrian Sugden

Je suis d'accord que la documentation à ce sujet est un peu laconique, mais le message d'erreur est en revanche très clair. ImpersonateCurrentUser n'est pas pris en charge pour les modèles attachés à une instance SSAS.

Ceci est mentionné dans la documentation du ImpersonationMode Enumeration :

ImpersonateCurrentUser: non pris en charge pour les bases de données de modèles tabulaires attachées à une instance Analysis Services.

Ainsi que dans la documentation sur Emprunt d'identité (SSAS Tabular) sous l'en-tête Options:

Lors de la configuration de l'emprunt d'identité ou de la modification des propriétés d'une connexion à une source de données existante dans Analysis Services, vous pouvez spécifier l'une des options suivantes:

  • Emprunter l'identitéWindowsUserAccount
  • ImpersonateServiceAccount
10