Skip to main content

AX 2009 - How to Transfer Security Settings to a Production Server

Translate this page
Summary:
If you are in a situation where you have created your AX security settings on another AX instance and you now need to move them to your production server, below are a few options for how to accomplish this.

Assumptions:
  • This is a one-time transfer from the STAGING server to the PRODUCTION server
  • The security settings transferred from the STAGING server will be the final settings on the PRODUCTION server and it is acceptable to overwrite the security settings that may have already been created on the PRODUCTION server
  • In the examples below we will assume two systems are used: STAGING and PRODUCTION
Option 1 – Use the Security Export/Import Process
In this option, you use the built-in Export and Import functions on the User group permissions form.
Export from STAGING
  1. Log into STAGING system
  2. Go to Administration | Setup | Security | User group permissions
  3. Select the User group and Domain for which you want to export
  4. Click the Export to button
  5. Enter the file name and location of the export file (e.g., SalespersonExport.asg)
  6. Click OK
  7. The User group/Domain security is exported into a *.asg file
Import in PRODUCTION
  1. Log into PRODUCTION system
  2. Go to Administration | Setup | Security | User group permissions
  3. Select the User group and Domain for which you want to import the new security settings
  4. Click the Import button
  5. Browse to the .asg file created in step 7 above
  6. Click OK
  7. The security settings from the .asg file are imported into the User group/Domain you selected in step 3
Option 2 – Use the Standard Export/Import Process
In this option, you use the standard built-in import/export utility and import in only the tables that you need.
Export from STAGING
  1. Log into the STAGING system
  2. Log into the DAT company
  3. Go to Administration | Periodic
  4. Expand Data export/import
  5. Select Definition groups
  6. Enter a new Definition group (e.g., Security)
  7. Enter a Definition group name (e.g., Transfer Security Settings)
  8. In this example, select Standard as the Type (you can use another that you prefer)
  9. Click Options tab
  10. Select the "Include system tables" checkbox (security tables are considered system tables in AX)
  11. Click the Table setup button
  12. Only include the following tables:
    1. AccessRightsList* - Stores the security permissions for User groups
    2. UserGroupInfo* - Stores the User groups
    3. DomainInfo* - Stores the Domains
    4. UserGroupList - Stores the User group membership
    5. UserInfo - Stores the AX Users
    6. SysUserInfo - Stores the AX User option settings
    7. CompanyDomainList - Stores the company/domain relationship
  13. Click the Export to button
  14. Browse to a location, name, and save the file (.dat if using Standard type)
  15. OK
Import in PRODUCTION
  1. Log into PRODUCTION system
  2. Log into the DAT company
  3. Go to Administration | Periodic
  4. Expand Data export/import
  5. Select Import
  6. Select the Definition group you created
  7. Browse to the .dat file you exported
  8. Ok

Important Notes:
  • These are examples of a one-time transfer and where it is accepted to overwrite any security settings that may have already been created on the Production system
  • You must understand the data that is stored in each of these security tables as it will overwrite your settings
  • Export and import only the tables that you wish to use in the new system
  • There are additional tables that could optionally be exported and imported such as usage data stored in the SysLastValue table if the circumstances were that the usage data created on the STAGING server is valuable to bring over to PRODUCTION
  • When using the Standard Import/export utility, you must perform this in the DAT company as the security tables are system tables

Recommendations:
  1. You should create your security settings on the PRODUCTION server to avoid moving data from STAGING to PRODUCTION.
  2. Use option 1 if you are only moving small sets of permissions as it will require additional work and could create many export files. With this option you can only export out one User group+Domain combination at a time. Ex: If you had 5 domains, it would mean each group could have 5 export files.
  3. You should use the transfer options for one-time transfers of security and you should always include the tables marked with an * when one-time transfers

Popular posts from this blog

What does this mean: "The form datasource query object does not support changing its AllowCrossCompany property after the form has executed the query."?

I have made a form with datasources vendtable and vendtrans. Inside vendtable_ds.executequery() looks like this: QueryBuildDataSource queryBuildDatasource ,queryBDS_VendTrans_Invoice; ; queryBuildDatasource = this.query().dataSourceTable(tablenum(vendtable)); queryBDS_VendTrans_Invoice = this.query().dataSourceTable(tablenum(vendtrans)); if (curext() == "MASTERCOMP") { this.query().allowCrossCompany(true); } else { this.query().allowCrossCompany(false); } //FilterVendorName = stringedit control on form if (FilterVendorName.text()) { queryBuildDatasource.addRange(fieldNum(VendTable,Name)).value(strfmt("*%1*", FilterVendorName.text())); } else { queryBuildDatasource.clearRange(fieldNum(VendTable,Name)); } //FilterInvoiceNumber = stringedit control on form if (FilterInvoiceNumber.valueStr() == "") { queryBDS_VendTrans_Invoice.enabled(false); } else { queryBDS_VendTrans_Invoice.enabled(true); queryBDS_VendTrans_In...

Credit Note [Dynamics AX] using X++

This post will help to create credit note for a sales order based on the invent lot id. All the invoices raised for a particular sales line – Lot Id will be raised back as a credit note. Information on Credit Note: A credit note or credit memorandum (memo) is a commercial document issued by a seller to a buyer. The seller usually issues a Credit Memo for the same or lower amount than the invoice, and then repays the money to the buyer or sets it off against a balance due from other transactions Below Code will help to create credit note for all the invoices raised against the sales line -lot id. Please note: This code can be customized as per your requirements. This is just a template to help creating credit note using X++ code. Please test the code before use. static void SR_CreateCreditNote_Sales(Args _args) { // Coded by Sreenath Reddy CustInvoiceTrans custInvoiceTrans; Dialog dialog = new Dialog(“Create credit note – for sales.”); DialogField dfInv...