1
votes

Want to identify the users/login with Administrative access on server to migrate them to new server's. I have tried Select * from $System.TMSCHEMA_ROLE_MEMBERSHIPS but these give information regarding the particular database i need more at server level.

1
I can do these with Powershell but is there any query to do same ? ``` [System.reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") $server = New-Object Microsoft.AnalysisServices.Server $server.Connect($Instance) $administrators = $server.Roles["Administrators"] $administrators.Members ```Dhirendra Patil

1 Answers

0
votes

Ssas users are done quite differently from normal databases. Ssas uses only the active directory account of the user trying to connect.

On server level the only security is done in the properties of the server, there you can select active directory users with administrative access to the server.

On database level you can create roles, give them access to (part of a) database and link active directory users/groups to them.

Using the analysisservices namespace of microsoft you already mentioned you can look trough every role in every database and note the permissions.

As far as I know you can't actually use this namespace to see all the administrators of the user. But unless you have an unreasonable amount of administrators the best solution might be to just open the server in sql server management studio, click on properties, security and write down all the AD members manually.

I hope this helps you and good luck!