Monday, 21 July 2014
Multiple Active Resultsets (MARS) In NAV 2013
There are a lot of things that have changed from NAV 2009 R2 to NAV 2013. Microsoft Dynamics NAV Server has been re-written by Microsoft to use ADO.dotnet instead of ODBC.
The New interface managed data access layer of Sql Server. Which decreases the consumption of memory. It also makes the 3 box installation very easy by simplifying Sql Server Connection Pooling.
There has been no more one to one connection between NAV client and Sql Server Connection. Previously each connection consumed 40 MB of Memory. Now Memory allocation is in a Managed Manner which is more efficient. For eg If the users are connected to one NAV server Instance where one user reads a record, a second user can read the record from the same cache. This cache is called as Data Cache.
There are 2 types of Data Cache; Global and Private. Global Cache is for all users connected to a Microsoft Dynamics NAV Server instance and Private cache is per user, per company, in a transaction scope. Data in a private cache for a given table and company are flushed when a transaction ends.
(It means, for better performance the memory should be good where the Navision Service Tier lies.)
Microsoft Dynamics NAV 2013 no longer uses server cursors to retrieve records. Now records are retrieved using MARS (Multiple Active Result sets). In NAV 2013 the option for Record Set Property no longer exists.
Mr. Abhijit Kadulkar - More than 16 years of experience in Information Technology across multiple technology solutions.Presently working as Delivery Manager- Microsoft Dynamics NAV at Direction Software Solutions, Mumbai, India