How to transfer Security Tasks and Roles between Systems


David Meego - Click for blog homepageThis is a reposting of an article I originally wrote on my Developing for Dynamics GP blog.

From the Microsoft Dynamics GP Application Level Security Series.

With the change from the optimistic user and class based security model in Microsoft Dynamics GP v9.0 (and v8.0) to the pessimistic role and task base security model in Microsoft Dynamics GP v10.0, a question that is often asked is how can security settings be transferred between a test and live system.

With version 8.0 and 9.0, you could use the Export and Import facility built into Advanced Security to transfer the settings for a user/company or class as an XML file. As Advanced Security is no longer relevant with the role and task based model, that option is not available for version 10.0.

The alternative for version 10.0 is to copy the data from the appropriate tables from source system to the target system. You can copy the data using a variety of methods, but the simplest would be to use the XML Table Export and XML Table Import features of the Support Debugging Tool for Microsoft Dynamics GP (now replaced by GP Power Tools). As we will be using Advanced Mode features, we will need to log in as a user with administrator permissions.

Below are the steps, please skip steps already completed previously:

    1. Click here for the links to download the GP Power Tools.
    2. Run the Installer and launch Microsoft Dynamics GP.
    3. Log into Microsoft Dynamics GP as ‘sa’ or a user with administrator permissions.
    4. Follow on screen instructions to start a free 30 day trial period.
    5. Select the GP Power Tools Area Page.
    6. From the Utilities section, click XML Table Export. If a System Password is in use, you will need to enter it.
    7. Add the tables to Export from the Microsoft Dynamics GP product in the System Series.  The table below shows the tables to use.  If you wish to transfer the settings without the actual user assignments, leave off the final two tables.
Table Name Physical Name Description
sySecurityMSTRRole SY09100 Master table for Security Roles
sySecurityAssignTaskRole SY10600 Assignment table for Security Roles to Tasks
sySecurityMSTRTask SY09000 Master table for Security Tasks
sySecurityAssignTaskOperations SY10700 Assignment table for Security Tasks to Operations
sySecurityMSTRModAlt SY09200 Master table for Alternate/Modified Groups
sySecurityAssignModAltOperations SY10800 Assignment table for Alternate/Modified Operations
sySecurityAssignUserRole SY10500 Assignment table for Users to Security Roles
sySecurityAssignUserModAlt SY10550 Assignment table for Users to Alternate/Modified Groups

The window should look similar to the following screenshot:

  1. Change the Export Path if desired.
  2. Click Export to export the data into the specified XML file.

On the target system, install the Support Debugging Tool and activate Advanced Mode as before.

  1. From the Support Debugging Tool window, click Options, click XML Table Import. If a System Password is in use, you will need to enter it.
  2. Select the Import Path to point to the previously exported XML file.
  3. Select the Overwrite Table Contents checkbox to remove the old settings before importing the new settings.
  4. Select the tables you wish to be imported.
  5. Click Import.
  6. When completed, close the window.

Now the data from the source system will have been copied to the target system. If you did not copy the User Assignments, you can now use the Microsoft Dynamics GP v10.0 user interface to select the Security Roles and Alternate/Modified ID for each user and company combination.

Note: A quick note about SmartLists added using SmartList Builder.  If the systems do not have the exact same SmartList Builder configuration (by copying data files), it is possible for the SmartList Security IDs to be different between systems.  In this case copying security between the systems could give incorrect results.  The idea is that the test system is the same as the live system, same dictionaries installed, same data.

To speed up the selection of the tables for export, a settings file has has been attached to the bottom of this post which can be loaded using the Configuration Export/Import window.

For more information on the role and task based security model, see the Knowledge Base (KB) article below:

Frequently asked questions about role-based security in Microsoft Dynamics GP 10.0 (KB 951229)

Just a little addition, the SnapShot tool can also be used to transfer data between systems. For more information have a look at the SnapShot for Microsoft Dynamics GP post.

David

10-Nov-2008: Add link to SnapShot as another method.

07-Apr-2010: Added warning about custom SmartLists added by SmartList Builder.

23-Feb-2019: Updated to use GP Power Tools as Support Debugging Tool no longer available.

Export Security Settings.dbg.zip

This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on http://www.winthropdc.com/blog.

21 thoughts on “How to transfer Security Tasks and Roles between Systems

  1. Hi Andrew
    All the Advanced mode functions of the Support Debugging Tool (including XML Table Export and XML Table Import) required the user to have database owner or administrator rights at the SQL level.  They would also need security access to the actual forms and if a system password is in use, they would need that to.
    Because the Advanced Mode features can allow access to the data directly, they are all protected from use by unauthorised users.
    David

    Like

  2. Wil this tool (or possibly another tool available) allow you to transfer security from 1 company to many other companies all in 1 step?

    Like

  3. Denise,
    No this tool won’t do that.  It is merely (in 2 steps) copy all the records from one database into another database as-is.  It doesn’t make any changes.
    What you would need to do is copy the security records for one user/company and then insert the modified records (with the new company id) back to the same table.

    Like

  4. I was really excited to find this posting. Unfortunately for me the import side of the process failed. I ended up using DTS to accomplish this task.

    Like

  5. Hi Chris
    Can you explain what failed with the import side of the process?
    Did you select to Overwrite Table Contents?
    Thanks
    David

    Like

  6. David –
    This is very helpful. I have additional question – I performed TEST upgrade from GP9 to GP2010 – In TEST – I setup configured Security from scratch. I plan backing up my DYNAMICS from my TEST, then when I  perform the real upgrade – restoring DYNAMICS database from the backup. Would this eliminate the need to export and re-import security?
    Thanks for any guidance.

    Like

  7. Hi Bron
    This would eliminate the need to export and re-import security.  However, it will also wipe out any changes made to the DYNAMICS database in the time between the test upgrade and the live upgrade.
    You would be creating the situation for a number of issues including cross linked notes and problems with multi-currency.
    blogs.msdn.com/…/understanding-notes-and-the-note-index-field.aspx
    I would recommend against this approach.
    David

    Like

  8. Hi David, When you say copying security between systems could give incorrect results for Smartlist Builder reports, can you please clarify what kind of issues? I want to copy the role and task settings from one of my server to another with a different SmartBuilder set of reports, but I am worried about the impact on the SmartBuilder reports in the target client. Thanks!

    Like

  9. Hi Chico
    Smartlist builder generates an Security ID to be used when the Smartlist is created.
    This ID is used in the security task setup to reference the Smartlists.
    For a system with the same Smartlists added, it is likely that the Security IDs for each Smartlist are different, unless they were added in the same order or copied at the table level.
    For a system with different Smartlists, they will be different.
    I suggest not setting security for any Smartlist builder favourites until on the final system.
    David

    Like

Please post feedback or comments

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.