Microsoft SQL Server

There are two basic authentication schemes used to connect to a Microsoft SQL Server, SQL Server Authentication and Windows Authentication.

SQL Server Authentication

With SQL Server Authentication you are connecting to the database with a database user.

 1# Microsoft SQL Server as System Database
 2# [engineDir]/configuration/ivy.yaml
 3SystemDb:
 4  # Format: jdbc:sqlserver://[<host>[:<port>]][;databaseName=<database name>]
 5  Url: jdbc:sqlserver://localhost:1433;databaseName=AxonIvySystemDatabase
 6  UserName: root
 7  Password: 1234
 8
 9  # Microsoft recommends not to use the instanceName and prefers specifying
10  # the port in the connection url. If you need to work with the instanceName
11  # you must remove the port in the connection url.
12  #DriverProperties:
13  #  instanceName: SqlServer

Note

On an SQL Server installation, only Windows Authentication is enabled by default. If you face problems connecting to the database, check if SQL Server Authentication is activated.

Windows Authentication

Microsoft SQL Server can be configured so it uses Windows credentials to log into the database.

There are two ways to do that, one where you configure a specific Windows user (and password), and one where the user credentials of the user running the Axon Ivy Engine are used.

Using specific Windows user:

 1# Microsoft SQL Server as System Database, specifying a Windows user to log
 2# into the database
 3# [engineDir]/configuration/ivy.yaml
 4SystemDb:
 5  # Format: jdbc:sqlserver://[<host>[:<port>]][;databaseName=<database name>]
 6  Url: jdbc:sqlserver://localhost:1433;databaseName=AxonIvySystemDatabase
 7  UserName: myWindowsUser
 8  Password: myWindowsPassword
 9  DriverProperties:
10    integratedSecurity: true
11    authenticationScheme: NTLM
12    domain: myWindowsDomain

Using user credentials of the process owner:

 1# Microsoft SQL Server as System Database, using credentials of user running the
 2# Ivy Engine process
 3# [engineDir]/configuration/ivy.yaml
 4# NOTE: In order to use this feature, you need to copy the mssql-jdbc_auth DLL
 5#       file matching the JDBC driver version used by the Axon Ivy Engine into
 6#       the [engineDir]/jre/bin directory before starting the Axon Ivy Engine.
 7#       The easiest way to obtain this DLL is by downloading it from a Maven
 8#       repository, e.g.
 9#       https://search.maven.org/artifact/com.microsoft.sqlserver/mssql-jdbc_auth.
10SystemDb:
11  # Format: jdbc:sqlserver://[<host>[:<port>]][;databaseName=<database name>]
12  Url: jdbc:sqlserver://localhost:1433;databaseName=AxonIvySystemDatabase
13  DriverProperties:
14    integratedSecurity: true

Instance Name

Microsoft recommends not to use the instanceName and prefers specifying the port in the connection url, as for each connection there is a round trip to determine the port. Therefore you will need to configure a static TCP port (e.g. 1433) in the SQL Server Configuration Manager.

If you still need to work with the instanceName you must define it as an additional connection property and remove the port specification in the connection url.

Tip

If you cannot connect to a Microsoft SQL Server, check first if the TCP/IP protocol for SQL Server is activated (by default it’s deactivated). If you still face problems then you may check if SQL Server Authentication is activated. By default only Windows Authentication is enabled.

If the database is created by the Axon Ivy Engine the collate is set to Latin1_General_CI_AI.