NAV 5.0, SQL Server 2005. My user is set up as db_owner of the NAV database only, and I can only see my own session in 'Current Sessions'. This has been discussed before, and I can make it so I see all sessions by giving the user 'serveradmin', but I am wondering if it is possible to do this without a server role.
I've tried various combinations of db_owner, access to system databases (master and temp and msdb and model) but without a server role I can't get it to work. Does anyone know the minimum security settings to get access to all user sessions without setting a server role?
0
Comments
when he open the sessionlist, nav / sql read the view session. These view reads the views: master.dbo.sysprocesses, master.dbo.sysdatabases.
Both views are in the role public (grant select)
Also, has your user the create table permission in tempdb :?:
Just set the trace 4616 on the SQL and you are done...;-) or not?
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
RIS Plus, LLC
We have same issue with one NAV Windows Login others on same server works fine.
After few tests which comnfirmed that it could be a SQL bug concerning trace flag T4616. We solved it with workarround SQL cmd: GRANT VIEW SERVER STATE TO PUBLIC enabling server wide permission just to view system tables without constraint on currently logged user.
I found that out after solving the issue why me technical update from3.60 DB to 5.01 SQL (SQL Server 2008) needed "db-owner" role for a normal user to login (enhanced security model). I matched my "all"-role with the entries from a 5.01 cronus db and after synchronizing it worked like a charme.
This is for NAV2009 SP1.
1) Copy the session view from the Cronus sample database. I had to do a google search on how to copy a view in SQL to figure out how to do this. The procedure that I used was to Right click on the Cronus database and say Tasks->Generate scripts then copy and run the script on the live database (after first making a backup).
2) Run the query GRANT SELECT ON [SESSION] TO [PUBLIC] in the live NAV database.
3) Add Tabledata 20000009 Session with Read Permission to the ALL role in NAV security
4) Run the query GRANT VIEW SERVER STATE TO PUBLIC on the SQL Server instance where NAV is installed
5) Turn on trace flag 4616 on the SQL Server instance where NAV is installed. I had to look this up as well. The command that I used was DBCC TRACEON (4616,-1)
With these steps, I did not need to give the user the SYSADMIN role in SQL Server.
Thanks again everyone for helping me resolve this and other issues. I use MIBUSO nearly every day to solve the various puzzles that I run into with NAV programming, installation and setup.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.