NAV2016 CU 07

urpokurpok Member Posts: 23
edited 2016-05-13 in NAV Three Tier
Hello all

I decided to write a small blog post if someone else is upgrading their NAV 2016 from CU 03 to CU07

After updating the client and service files I started the Development client, converted the database to new version, and tried to start the NAV service with Administration tool.
The service did not start, and event viewer was populated with this error:
Server instance: NAV2016
The service MicrosoftDynamicsNavServer$NAV2016 failed to start. This could be caused by a configuration error. Detailed error information: System.MissingMethodException: Method not found: 'Microsoft.Dynamics.Nav.Types.TenantPollLimits Microsoft.Dynamics.Nav.Types.ServerUserSettings.get_TenantDetectionMaxRetryCount()'.
   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection..ctor(Action`1 onApplicationMounted, NavAppGroupUpdater groupUpdater)
   at Microsoft.Dynamics.Nav.Runtime.NavEnvironment..ctor(Boolean standaloneInstance)
   at Microsoft.Dynamics.Nav.Runtime.NavEnvironment.get_Instance()
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.SetNavEnviroment(String commandLineServiceInstanceName, ServerUserSettings settings)
   at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName).

I pondered this for an hour, fiddling with the CustomSettings.config files a lot. I came to conclusion that this is something I cannot find an answer to, so I contacted Microsoft Support. We found quickly out that the problem was caused by old version of NavSip.dll file in folder C:\Windows\SysWOW64
Updating the dll from install dvd folder NAV.9.0.45834.FI.DVD\ServiceTier\System64Folder fixed the problem, and I was able to start the services. Thank you Abdelrahman for quick and professional help!

After successful service start, next step is to synchronize schemas. This did not work, I got an error dictating that there is something wrong with some fields.
The following SQL error was unexpected: Invalid column name 'Session Unique ID'.
Statement(s) could not be prepared.

I spent some time studying the tables and found out that development environment had added a new field "Session Unique ID" to two tables, Active Session and Session Event.
I fixed this by adding the columns via Management studio, with type uniqueidentifier. This fixed the problem, and I could synchronize the schema and compile all objects successfully.

I learned later that this can be fixed an easier way as well; simply running the Development environment as an administrator when converting the database to new client version.

So far the last problem is that running an object from Development environment causes the RTC client to crash. This is also fixed by running the Development Environment as an admin.

Hopefully this is all.. happy updating everyone!

EDIT 2016-05-13. If you update CU7 to development server, you have to update same client version to all customer deployments as well.
Changes in Session Event and Active Session tables cause older client versions to crash in login with error:
The Following SQL error was unexpected: Cannot insert the value NULL into column 'Session Unique ID', table 'NAV2016.Session Event'; column does not allow nulls. INSERT fails.
The statement has been terminated.

This happens if you or someone else updates either of these tables to production.

UrpoK
"There is no spoon."
--Matrix

https://navurpo.blogspot.com/?view=classic

Comments

  • Jan_VeenendaalJan_Veenendaal Member Posts: 206
    I overcame the second issue by doing the Sync from PowerShell
    Jan Veenendaal
  • KishormKishorm Member Posts: 921
    Similarly re the second issue, you don't have to upgrade the database by running the Dev environment in admin mode, but you do need it in admin mode at the point of syncing the schemas (if you decide to do this in the Dev environment instead of using powershell). Although the message at the end of the upgrade tells you to sync schemas using the option on the tools menu it unfortunately omits to tell you that the Dev environment should be run in admin mode at that point.
  • lyngelynge Member Posts: 85
    Also note that it seems that CU7 requires you to have a partner license active in the development environment before doing the technical database upgrade.
    I have a server where the licenses are installed on the database. The master license is just the Microsoft one installed from the product CD. When I try to do the master upgrade with that one I get this error:
    --
    You do not have permission to read the 'Tenant Permission' Table.
    Contact your system administrator to have your permissions changed.
    --
    Btw: I've reported the bug regarding the crash if you try to run objects and have not started the development environment as administrator. The Microsoft ID is "[REG:116051214158431] NAV crashes when running objects". It seems to be related to the development client searching for a running windows client in the process list too aggressively causing an access denied exception (according to the visual studio debugger). The code for this was changed in CU7 to eliminate COM code.
  • jglathejglathe Member Posts: 639
    What helped on my side:

    1. have a developer license loaded
    2. compile all system tables (with option "later") after upgrade run
    3. close the dev. environment, start with admin privileges
    4. restart the NST just in case
    5. do the synchronization.

    with best regards

    Jens
  • In addition to that, you may have to run the development environment on the same machine as the server! This was an additional problem for me!
  • cropredycropredy Member Posts: 5
    Thanks urpok! Compiling while logged in as "Run as administrator" solved the issue!
  • malintusmalintus Member Posts: 32
    I had the same issue. Your solution didn't work for me. What I did was adding fields 'Session Unique ID' as GUID data type in Active Session and Session Even tables.
    Anyway thanks @urpok for pointing in which tables error was.

  • afarrafarr Member Posts: 287
    There is another issue with NAV 2016 CU7, which is metadata errors. According to the blogpost below, this was apparently introduced in CU5, and mostly solved in CU9.

    https://community.dynamics.com/nav/f/34/t/204627

    We have a client on CU7 who we are upgrading to CU12 precisely because of those metadata errors. (I know that that is not the latest update, but the client uses a vertical that is currently only available for CU12 or earlier).
    Alastair Farrugia
  • RoelofRoelof Member Posts: 377
    Just recompile with force the 2 system tables 'Active Session' and 'Session Event' since they were not compiled in my case. That solved my problem.
    Roelof de Jonghttp://www.wye.com
Sign In or Register to comment.