How to transfer Security Tasks and Roles between Systems
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. 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:
- Click here for the links to download the tool from PartnerSource.
- Extract the archive files to your application folder.
- Launch Microsoft Dynamics GP and select Yes to include new code.
- Log into Microsoft Dynamics GP as 'sa' or a user with administrator permissions.
- From the menus click Microsoft Dynamics GP, click Tools, click Support Debugging Tool.
- From the Support Debugging Tool window, click Options, click Dex.ini Settings.
- On the Debug Tab, in the Support Debugging Tool Options section, select the Enable Debugger Advanced Mode Features checkbox. If a System Password is in use, you will need to enter it.
- Click OK to close the Dex.ini Settings window.
- From the Support Debugging Tool window, click Options, click XML Table Export. If a System Password is in use, you will need to enter it.
- 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:
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:
- Change the Export Path if desired.
- 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.
- 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.
- Select the Import Path to point to the previously exported XML file.
- Select the Overwrite Table Contents checkbox to remove the old settings before importing the new settings.
- Select the tables you wish to be imported.
- Click Import.
- 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.
Comments
Anonymous
November 09, 2008
For the next couple of weeks, I have decided to focus on Microsoft Dynamics GP application level security and methods for resolving security related issues.Anonymous
November 10, 2008
David Musgrave over at Developing for Dynamics GP is tackling Dynamics GP 10 Security in a new seriesAnonymous
November 10, 2008
From the Dynamics GP Blogster http://dynamicsgpblogster.blogspot.com/2008/11/microsoft-dynamics-gp-10-security.htmlAnonymous
November 10, 2008
Dave, Is it necesssary to log in with a user that has admin privileges in GP or a admin rights in SQL for the specified tables? Thanks AndrewAnonymous
November 11, 2008
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. DavidAnonymous
November 23, 2008
One of the great things about blogging is the ability to inform and educate partners and customers onAnonymous
November 23, 2008
From the Microsoft Dynamics GP Application Level Security Series . This is the final article in thisAnonymous
July 31, 2009
Wil this tool (or possibly another tool available) allow you to transfer security from 1 company to many other companies all in 1 step?Anonymous
July 31, 2009
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.Anonymous
March 02, 2010
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.Anonymous
March 02, 2010
Hi Chris Can you explain what failed with the import side of the process? Did you select to Overwrite Table Contents? Thanks DavidAnonymous
September 05, 2010
Posting from Jivtesh Singh at About Dynamics, Development and Life www.jivtesh.com/.../dynamics-gp-sdt-essential-series-2.htmlAnonymous
December 07, 2010
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.Anonymous
December 07, 2010
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. DavidAnonymous
April 22, 2011
Posting from Terry Blaser at Dynamics GP Support and Services Blog blogs.msdn.com/.../how-to-move-your-security-settings-from-test-into-production.aspxAnonymous
July 26, 2011
Posting by Rubal on Dynamics GP Help dynamicsgphelp.com/.../sql-where-clause-to-xml-export-window-support-debugging-tool-build-15Anonymous
February 11, 2014
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!Anonymous
February 11, 2014
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