Installation with Custom Databases
Agiloft can integrate with an external MySQL or MS SQL installation through the standard TCP/IP connection. By default, these custom database installations may not have some of the services/protocols enabled.
MS SQL Installation
Here are some of the recommendations by our developers to assist the database administrator in setting up the MS SQL server for optimized integration with Agiloft.
If the MS SQL database takes part in mirroring or AlwaysOn Availability Groups, the database administrator must set the READ_COMMITTED_SNAPSHOT or "Is Read Committed Snapshot On" database option to ON or "True" before Agiloft is installed.
- The TCP/IP connection must be set to a static port. See Microsoft help for more information.
- The Microsoft Distributed Transaction Coordinator (MS DTC) service should be marked Automatic in Service Manager to make sure that it is running when the SQL Server service is started.
Follow these steps
- Install MS SQL.
- During installation, select Mixed Authentication.
Create the required databases. Do not use System Databases for the Agiloft installation. See more about SQL databases from Microsoft.
- Enable MS DTC for XA transactions.
- Configure the JDBC Distributed Transaction Components.
If MS SQL is already installed with a different authentication method, you can follow these steps to change to Mixed authentication.
Enable MS DTC for XA transactions
In Windows 7, Windows 10, Windows Server 2008 R2 or Windows Server 2012 or later:
- Select Control Panel > Administrative Tools > Component Services.
- Right-click Local DTC and then select Properties.
- Click the Security tab in the Local DTC Properties window.
- Select the Enable XA Transactions check box, click OK. This will restart the MS DTC service.
- Click OK again to close the Properties window, and then close Component Services.
- Restart SQL Server to ensure that it syncs up with the MS DTC changes.
Configure the JDBC Distributed Transaction Components
While the Agiloft installer is running, and at the stage of , navigate to the
Agiloft\resources\resources.zip\resources\java\lib\mssqlxadirectory and open the files inside your zip viewer.
sqljdbc_xa.dllfile from the directory to the Binn directory of the SQL Server computer.
Note: For a default SQL Server install, the location is
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn.
- Run the
xa_install.sqldatabase script from the directory:
- In the command prompt, enter sqlcmd -i xa_install.sql. This script installs the extended stored procedures that are called by
sqljdbc_xa.dll. These extended stored procedures implement distributed transaction and XA support for the Microsoft SQL Server JDBC Driver. You will need to run this script as an administrator of the SQL Server instance. You can ignore errors about being unable to drop procedures that don't exist.
- Change the password and database name (sw2_std) if needed in the
aluser.sqlscript and run it the same way as
xa_install.sql. The script creates an Agiloft user with SysAdmin role and the ability to use XA Transactions. For best results, do not revoke the SysAdmin role for this user.
- Close the SQL Server Management Studio. If this is not closed, the Agiloft installer will not be able to get an exclusive lock to set the database options, and will wait forever.
- Continue with the Agiloft installation.
Here are some of the recommendations by our developers to assist the database administrator in setting up the MySQL server for optimized integration with Agiloft.
- The MySQL version should be verified to work with Agiloft. See System Requirements for more information.
- The TCP/IP connection must be set to a static port. See the relevant documentation for your distribution.
Follow these steps
- Download the latest MySQL version, and use the steps at the MySQL Installation Guide to install it to your server.
Verify that the database user has sufficient privileges to run custom scripts. The user will need System Administrator privileges at least.
To create a new database user with system administrator privileges to integrate with Agiloft, the following script format can be used:
In MySQL, create a custom database named sw2_std, specifying UTF8 character set. You can use the following commands to do this:
This will return something like the following:
Configure InnoDB. The following parameters are recommended for the
my.cnfconfiguration file. Pay attention to the comments, as some of these values can vary depending on your environment. At a minimum, the max_allowed_packet must be set to 16M. For more information, see InnoDB Configuration:
In Linux, load the MySQL time zone table using the following command on the server where MySQL is installed:
- Add the default-time-zone entry to the
my.cnffile. This file is usually located under
- Set the time zone value to match the server time zone. For example, if the server uses the Pacific time zone, set:
- Restart the MySQL service.