5

I have a SQL 2016 SP1 SSAS Tabular Instance. I've deployed a model with the following properties

enter image description here

enter image description here

When I try to process the database or a table I get an error "The datasource contains an ImpersonationMode that is not supported for processing operations".

But if I change the impersonation info on the connection properties to use the service account instead of the current user it works fine.

We also don't get this issue if we change the Default Mode to DirectQuery instead of import, but we need to use Import because we need to use DAX username function for row level security.

I am an admin on the SSAS instance and also an admin on the SQL Server instance that is the data source. Why can't I process the SSAS tabular model as my user?

Adrian S
  • 326
  • 1
  • 5
  • 15

3 Answers3

10

I agree the documentation on this is a bit terse, but the error message on the other hand is very clear. ImpersonateCurrentUser is not supported for models attached to a SSAS instance.

This is mentioned in the documentation of the ImpersonationMode Enumeration:

ImpersonateCurrentUser: Not supported for tabular model databases attached to an Analysis Services instance.

As well as in the documentation on Impersonation (SSAS Tabular) under the Options header:

When configuring impersonation, or when editing properties for an existing data source connection in Analysis Services, you can specify one of the following options:

  • ImpersonateWindowsUserAccount
  • ImpersonateServiceAccount
Tom V
  • 15,752
  • 7
  • 66
  • 87
0

Change Current User for Service Account under impersonalization of the conection

Change Current User for Service Account under impersonalization of the conection

0

In Visual Studio for the data source I use Windows Authentication and in the "Impersonation Information" section I select "Use the service account". And, in the SQL database it will be pulling data from you need to add the service account which SSAS runs under. The default is NT Service\MSSQLServerOLAPService. I just give it public and db_datareader.

Mauro Torres
  • 101
  • 1