Below I’ll describe how to create a copy of a multisite environment in Infor Syteline 8.03.XX. You can use this procedure to duplicate an existing environment that you are using or to create a new environment out of your “seed” environment. Seed environment would be your fully configured environment that does not contain any transactional data. You can create copies of this “template” (clean environment) with different names to create test and/or production environments.
Assuming you have backups going for your existing multisite environment, first thing you’ll want to do is to create a copy of each of your databases by restoring them from the source backup and then renaming them so that they have the target’s naming convention.
For example, if you have a Source_NYC_App, you’ll want to use the SQL Management Studio to perform a restore from backup. During the restore process you will change the name of the SQL database and the corresponding transaction log so that it has a prefix of Target (i.e. Target_NYC_App).
To do this, connect to your SQL Server using the Management Studio, and expand the Databases section. Locate the database you want to restore (Source_NYC_App) and right click on it. Select Restore Database from the menu.
In the Restore Database window, specify the name of the database you’ll be restoring to (Taget_NYC_App).
Select the From Device radio button then click on the browse button on the right hand side.
In the Specify Backup window, click on the Add button.
Locate and expand the Source_NYC_App, then select the appropriate backup of the database you want to restore from, then click on OK, and OK on the next window as well.
In the Restore Database window make sure you check the box next to the database name listed in the Select the backup sets to restore section. Then click on Options on the left.
Select the appropriate paths for where to store the database and database transaction log files. In the example above we’re using two separate volumes D: and E:. Then click on the OK button.
Once completed you will get a pop up window informing you that the database restore was completed successfully.
Repeat the same steps to restore all of your (source) App databases as well as your (source) Forms and Objects databases.
Next, you’ll want to make sure your newly created databases are included in the SQL maintenance plan. You can do so by expanding the Management section of your SQL instance in SQL Management Studio. Select and expand Maintenance Plan and right click on your existing maintenance plan. Choose Modify.
Double click on the subplan to bring up the task details. You can add the newly crated databases the the list of dbs by clicking on the Database dropdown menu and clicking on the These databases radio button, then ticking the checkboxes next to their names. Alternatively you can select the radio button next to All user databases, which will include all of the dbs on this SQL server.
You can find an example of how to setup a maintenance plan here.
Whenever you restore an App database you are going to receive an error message if you try to use it straight away. Error message is going to say something along the lines of – it doesn’t trust the database. To solve this problem we need to run the script shown below on your SQL server against each one of the App databases.
DECLARE @master_owner sysname
SELECT @master_owner = sl.name
from master..syslogins sl
inner join sys.databases sd on
sd.owner_sid = sl.sid
where sd.name = ‘master’
DECLARE @my_owner sysname
SELECT @my_owner = sl.name
from master..syslogins sl
inner join sys.databases sd on
sd.owner_sid = sl.sid
where sd.name = DB_NAME()
IF ISNULL(@my_owner, N”) <> @master_owner
DECLARE @SQL1 nvarchar(4000)
SET @SQL1 = N’ALTER AUTHORIZATION ON DATABASE::’ + DB_NAME()
+ ‘ TO ‘ + @master_owner
DECLARE @SQL nvarchar(4000)
SET @SQL = N’ALTER DATABASE ‘ + DB_NAME() + N’ SET TRUSTWORTHY
Next thing we’ll want to do is create new configurations on your Syteline Utility Server. Click on the Start button, then select Infor, then Tools and run the Configuration Manager as an administrator.
In the Configuration Manager you will see a list of your existing configurations. The easiest way to go about this is to copy existing environments. Following the example above we’ll select one of our configurations (Source_NYC) and click on the Copy button.
Specify the name for the new configuration you are creating. In our scenario the name of the Target Configuration will be Target_NYC.
Repeat the same steps for all of the configurations that make up your multisite environment.
Now that we have all of the configurations created, we’ll need to make sure they are configured properly. Select one of them in the Configuration Manager and click on the Edit button.
Under the Runtime (Client) tab, select the appropriate App database from the Database name dropdown menu (Target_NYC_App) on the left hand side. On the right hand side you can specify the appropriate Forms database name from the drop down menu (Target_NYC_Forms).
Click on the Objects Metadata tab. Note that the Database Name field is prepopulated with the incorrect Objects database name. This is because we made a copy of the configuration that was pointing to a different Objects database.
Click on Set Objects DB Specification button to specify the correct name. Target_NYC_Objects is the name of the database we are using in our example.
Once completed you’ll see the pop up shown below.
Repeat these steps for all of the newly created configurations.
Please note that the sequence of actions is important. First modify the App database, then the Forms database and as the last step choose the correct Objects database.
Now that we have created all of configurations we need, let’s make sure they are listed in the Configuration Manager, under the Configuration Groups tab.
Finally, click on the Utilities tab in the Configuration Manager, select All Configurations and press the Discard IDO Cache button.
Next we’ll need to make some modifications in each of the databases/configurations we have just created (Target_ prefix). In order to do this we’ll need to stop replication in each one of these. The easiest way to do this is using the below SQL query. Use the SQL Server Management Studio to connect to your SQL Server and execute the it.
update Target_NYC_App..rep_rule set disable_repl = ‘1’
update Target_NJ_App..rep_rule set disable_repl = ‘1’
update Target_NJ_Entity_App..rep_rule set disable_repl = ‘1’
update Target_MA_App..rep_rule set disable_repl = ‘1’
update Target_MA_Entity_App..rep_rule set disable_repl = ‘1’
update Target_FL_App..rep_rule set disable_repl = ‘1’
update Target_FL_Entity_App..rep_rule set disable_repl = ‘1’
update Target_VA_App..rep_rule set disable_repl = ‘1’
update Target_VA_Entity_App..rep_rule set disable_repl = ‘1’
Use the Syteline client to log into each one of the databases/configurations. Keep in mind that if you haven’t applied the licenses just yet, you’ll only be able to log in as sa.
Start the Replication Management form. Click OK to dismiss the warning pop up message.
Click on the top Intranets link to bring up the Intranets form. Make sure that all of the information under the Reports/TaskMan tab is correct.
Next, click on the Sites/Entities to open up that form.
Note that the App database name as well as the Forms database name for the site is incorrect. It is still pointing to the databases that the “old” environment used to use. This is the case for all of the sites and entities we have just created by copying from the “old” sites and entities. In addition, if you are using Intranet Licensing for your sites (where one site is the master licensing site and all other sites participate in Intranet Licensing) you’ll need to make sure that the checkbox next to Intranet Licensing is ticketed. Also, we need to make sure that this checkbox is not checked for your Entities.
This will need to be corrected. It can be done from the Syteline client – manually. You cannot modify the settings for all of the sites from a single site (you can’t change the App/Forms database name for the NJ site from the NYC site). Instead you would need to log into each of the sites and make changes in the Sites/Entities form that pertain to that specific site.
Alternatively you can make all of these changes on the SQL side of things. Use the below script against each one of the new App databases on the SQL server using the Management Studio. This will change the names of App and Forms databases.
update site set app_db_name = REPLACE(app_db_name, ‘Source’, ‘Target’)
update site set strings_table = ‘Target_Forms’
select site, app_db_name, strings_table from site
Script below will change the Intranet Licensing settings so that all Sites have it enabled and all Entities have it disabled.
update site set IntranetLicensing = ‘1’ where type = ‘S’
update site set IntranetLicensing = ‘0’ where type = ‘E’
If you reopen the Sites/Entites form now, you will see that all sites are configured to use the appropriate App and Form databases and that Intranet Licensing is configured appropriately.
If you are using APS Planning in your multisite environment, you’ll need to reconfigure settings related to it as well.
Open up the APS Sites and Alternative Management form. Note that APS Server Service Port, Planner Database Port numbers and SQL Database names are incorrect. Port numbers currently specified as well as SQL database names are used by the Source multisite environment.
You can see these services running on your Utility server via the services.msc.
We’ll need to create APS related services for the new (Target) databases. We’ll do that on the Utility server by, clicking on Start then Infor, then Setup and running the Server Service Configuration as administrator.
Once it starts, click on the Install Service button.
In the Install Server Service window specify the SQL server name and appropriate SQL credentials as well as the database name and a unique port number to be used with it.
Repeat this process to create services for all of the databases you need APS running in. Once these have been created, they’ll show up in services.msc on your Utility server. Make sure you configure an appropriate Log On As account for each of the Infor APS Server services you have just created. Then restart these newly created services for the changes to take effect.
Back in the APS Sites and Alternative Management form modify the APS Server Service Port and Planner Database Port numbers, as well as the SQL Database Name. For example, you’ll be using port number 7040 as the APS Server Service Port number and Target_NJ_App as the SQL database name for the NJ planning site in each of the configurations. You are going to need to do this for all of the planning sites in all of the different configurations that are running APS.
Again, these same actions can be performed on the SQL server itself. You can use the template below to either update existing APS sites or create new APS sites. Please note that the query will need to be modified with values that are appropriate for your environment.
update aps_site set aps_port_no = ‘7040’, erdb_port_no = ‘7140’, sql_db_name = ‘Target_NJ_App’ where aps_site = ‘NJ’
insert into aps_site(alt_no,aps_site,type,aps_host_name,aps_port_no,erdb_host_name,erdb_port_no,priority,sql_host_name,sql_db_name)
Above query will update just one of the planning sites. You would need to run multiple different queries to update all of the planning sites in all of the different App databases that are running APS.
Next, we’ll need to setup the Infor APS Gateways for all of these new configurations running APS. We can do that on the Utility server by clicking on Start, then Infor, then Setup and running Gateway Service Configuration as administrator.
Click on the Install Service button to install the APS Gateway services.
Provide the appropriate SQL server name, SQL user credentials, as well as the appropriate App database name, and click on Install.
Repeat these steps to install Gateway Service for each one of the configurations/sites that are running APS in this newly created environment.
Use services.msc on your Utility server to specify Log On As accounts for these new Infor APS Gateway services, then restart them in order for the changes to take effect.
Lastly we want to create new Infor APS Planner services for each of the new APS sites. On the Utility server, click on Start, then Tools and run the Planner Manager as administrator.
In the new window click on the Create button.
Specify the appropriate configuration name.
The configuration will now appear in the Infor SyteLine Planner Manager.
Highlight it and then click on the Start button.
Specify the Port Number and click on the Start button. Please note that the port number has to be unique. In addition it needs to match the value of what is already defined in the APS Sites and Alternative Management form.
Repeat the same steps to create Planner Databases for each of the APS sites.
Next we’ll need to regenerate replication triggers in all of the configurations (sites and entities) in the new (Target) environment.
You can do that by running the Replication Management form in the Syteline client then clicking on Regenerate Replication Triggers.
Similarly, we’ll need to repopulate all of the _all tables in all of the configurations (sites and entities) in the new (Target) environment. That can be done by running the Update _All Tables form in the Syteline client.
Make sure you select all of the tables by clicking on the Select All button, then press the Repopulate Tables button.
Next, we will need to turn replication back on, in all of the configurations that make up your Target multisite environment. Connect to your SQL server using the SQL Server Management Studio and run the following query.
update Target_NYC_App..rep_rule set disable_repl = ‘0’
update Target_NJ_App..rep_rule set disable_repl = ‘0’
update Target_NJ_Entity_App..rep_rule set disable_repl = ‘0’
update Target_MA_App..rep_rule set disable_repl = ‘0’
update Target_MA_Entity_App..rep_rule set disable_repl = ‘0’
update Target_FL_App..rep_rule set disable_repl = ‘0’
update Target_FL_Entity_App..rep_rule set disable_repl = ‘0’
update Target_VA_App..rep_rule set disable_repl = ‘0’
update Target_VA_Entity_App..rep_rule set disable_repl = ‘0’
Not a 100% certain if the sequence of events related to enabling/disabling replication and regenerating triggers is correct. It appears that steps outlined below should be followed:
- Trigger Management
- Disable Replication
- Replication Management
- Enable Replication
- Replication Management (again)
- Update _all Table (with Replication)
Finally, start the Service Configuration Manager on your Utility server as administrator.
On the Event Service tab use the Add button to add all of your configurations. Do the same thing on the TaskMan tab.
Once all of your configurations have been added in both tabs, start the Configuration Manager as administrator, click on the Utilities tab, and then press the Discard IDO Cache button.
Lastly, on your Utility server you’ll need to restart the Inform Framework Event Service as well as the Infor Framework TaskMan service.
This completes the process of copying the multisite environment. You would need to request appropriate site/entity licenses from www.inforxtreme.com for your new multisite environment and apply them in order to have users connect to it.