Hello
I have seen a strange behaviour 2 or 3 times when technically migrating older Nav solutions to Nav 2009. The users without special sql server roles needed to have sql rights on VIEW SERVER STATE. There are some threads around this topic, but I would like to see the case in a greater contecxt, I'm sure other reader will be also glad about this.
My question to this:
Is this a new prerequisite for Nav 2009?
Traceflag 4616 is not needed anymore, the system views are now used for this?
Does the VIEW SERVER STATE need to be granted manually?
Does the security model of Nav matter?
Is there a difference between db logins and windows logins concerning the topic?
Many thanks in advance.
Thomas
Comments
Hope this helps.
Regards,
Slawek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
The login mechanism has been changed with NAV 2009 SP1 - from that version on you don't need the TF anymore.
See also: http://blogs.msdn.com/b/german_nav_developer/archive/2009/03/17/trace-flag-4616-aktivieren-auf-dem-sql-server.aspx (German)
So basically you don't have to grant VIEW SERVER STATE permission manually; just the TF should be sufficient enough. Does this work?
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool
Trace Flags (Transact-SQL)
4616 - Makes server-level metadata visible to application roles...
Slawek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool
That's why in my opinion it is not equivalent or fully interchangeable with GRANT VIEW SERVER STATE to public.
More precisely - I would guess that GRANT VIEW SERVER STATE to public grants more wide permissions than trace flag 4616, so it should be possible to replace trace flag with it, but not other way around.. If NAV 2009 does not require T4616 anymore I would guess that it tries to get access to server metadata before it logins as application role, so T4616 is no longer enough, and GRANT VIEW SERVER STATE to public is necessary. Once granted it works also for application roles, so in effect T4616 is no longer required at all.. but GRANT VIEW SERVER STATE to public is.
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
RIS Plus, LLC
Hi
Thanks for your answers. I don't understand why it may be used when moving/upgrading and it may not be used if creating a new db :?
Thanks in advance
Thomas
Again: it should NOT be necessary to fiddle manually with VIEW SERVER STATE permission at all! Traceflag 4616 should be sufficient enough.
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool
So if I undertand you correctly, still use TF 4616 with Nav2009 (no matter SQL 2005/2008 or new or migrated db), altough officially TF4616 is not mentioned as a prerequisite anymore? Sorry, I'm a bit confused.
Thomas
RIS Plus, LLC
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
The Blog - The Book - The Tool