At the back end of last week I found what I thought was a bug in Analysis Services and it has been confirmed as such by Edward Melomed, Program Manager from the SSAS team in Redmond. Its not a biggie, and it is easily fixed, but I thought better to make people aware of it.
Basically, if you change the DataDir property of your Analysis Server (i.e. the place that, by default, Analysis Services stores all its data) then you will lose valuable metadata about your installation - namely that you will lose all members of the fixed admin Server Role. The only user who can then connect to Analysis Server and carry out administrative functions is the user that installed the software.
Strangely, changing the DataDir back to what it was restores all of the metadata that was seemingly lost.
If you want to repro the problem then follow these steps:
- Connect to your Analysis Server in SSMS with a user that is a member of the server role but NOT the user that installed the software
- Right-click on the server in Object Explorer. Select 'Properties...'
- On the general tab, change the value of the DataDir property to a different folder (it doesn't matter what)
- Click 'OK' on "Analysis Server properties" dialog. You will get a message telling you that the server needs to be restarted
- Restart your Analysis Server in Services panel.
- Re-Connect to the Analysis Server in Object Explorer again.
- Right-click on the server in Object Explorer. Select 'Properties...'
You won't be able to see any server properties and if you click on the 'Security' tab you will not be able to see yourself in the list of server role members. In other words...it seems you have been removed from the server role just by changing the data directory. If you try and do anything like deploy to the server you will get an error message "Either the 'username' user does not have permission to create a new object in '<server-name>', or the object does not exist."
- Now log onto the server as the user that originally installed Analysis Services (for this is now the only user that will have server role privelages)
- Change the DataDir back to what it was before. Restart AS.
After that all of the server role members will be back where they were before. Everything as normal.
Be aware, and be very wary!!!
-Jamie