Upgrading NAV Database Logins from 2009 to 2013 R2

gerdhuebnergerdhuebner Member Posts: 155
edited 2014-05-19 in NAV Three Tier
As is well known, there exists an upgrade tool for directly upgrading a NAV 2009 (SP1 or R2) database to NAV 2013 R2:
http://blogs.msdn.com/b/nav/archive/2013/11/22/upgrade-toolkit-for-upgrading-data-from-microsoft-dynamics-nav-2009-r2-and-microsoft-dynamics-nav-2009-sp1-to-microsoft-dynamics-nav-2013-r2.aspx

We now have to upgrade a SQL - NAV 2009 SP1 database containing only database logins to NAV 2013 R2. Our customer doesn't want to use Windows logins in the new version but prefers the good old username/password authentication method.
The upgrade toolkit seems to drop all database logins present in the old database after step 1 (converting database to 2013 R2).

Is there any possibility (tool, etc.) for taking the old database logins from 2009 (old table 2000000002 User, primary key was "User ID", Code 20) to the new User table 2000000120 (Primary key is now "User Security ID", Guid) or have all the users to be created manually in the new database?

Comments

  • kinekine Member Posts: 12,562
    You can transfer them as any other data. But first, you need to set the Service tier to use NAV Users instead Windows users. Second - you cannot transfer passwords. You need to set some default and let users to change them after.
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • gerdhuebnergerdhuebner Member Posts: 155
    Indeed, it turned out quite easily... - I just created two additional tables before the upgrade: "Temp User" and "Temp Member Of" as copies of the old NAV 2009 tables "User" and "Member Of". At the end of the update procedure, I created all users from "Temp User". If necessary, one can fill the password column in "Temp User" to provide an individual starting password for each user (may be, one should take care of the minimum security settings for passwords in NAV). In principle the creation of new Users uses the CREATEGUID function for the "User Security ID" and the (undocumented?) function SETUSERPASSWORD(UserSecurityID,Password). The data of "Temp Member Of" ist transferred to table 2000000053 (Access Control).
Sign In or Register to comment.