How to install Contact Expert using a named Microsoft SQL Server instance
A Microsoft SQL Server instance is a distinct set of services that have specific settings for collations and other options. Think of it as an individual set of configuration provided by a single SQL server. An instance name is specified during the Microsoft SQL Server installation – even if there is no explicit name defined, the system will have a default name generated. The default SQL instance name is 'MSSQLSERVER'.
For further details on Microsoft SQL Server instances, please review the official Microsoft documentation.
Business requirements might mandate placing Contact Expert databases into an explicitly named SQL Server instance. This article explains how to perform this for Contact Expert clean installations.
Step-by-step guide
Applying the SQL named instance name to the CE Installer Wizard
Append the SQL Server instance name to the SQL Server FQDN in the Contact Expert Installer Wizard in the following format (example):
database.contoso.com\ceinstance
Follow the steps of the next chapter to reveal the SQL Server ports generated by the SQL Server Installer for the named instance.
Database ports of SQL named instances
When installing named instances, the Microsoft SQL Server installer selects and assigns TCP ports in a dynamic fashion for each named instance which can change upon every SQL Server service restart. Contact Expert must be aware of what TCP port the SQL Server is available at for the given named instance, therefore you must set the TCP port to static in SQL Configuration Manager.
The default TCP port for Microsoft SQL Server is 1433. This is what Contact Expert installer uses by default.
The Contact Expert Installer does not allow you to specify a custom SQL Server TCP port, but you can change this parameter using CE PowerShell cmdlets after the installation is done.
To identify the SQL Server TCP port and then apply it in the CE configuration:
- Locate and launch the SQL Server Configuration Manager utility on the CE Database Host (the Microsoft SQL Server computer running the CE databases). You will need local administration rights for this activity.
- Click the SQL Server Network Configuration node in the menu tree at the right side of the window.
- From the subnodes select and click the entry referring to the named instance CE is going to be using.
- Double-click the TCP/IP item in the left side of the screen.
- Click the IP Addresses tab of the TCP/IP Properties window that popped up.
- Find the IP address from the list of addresses that matches the address of the database server CE will be using for network communication. You might be looking at a long list with IPv6 addresses too.
- Make sure the TCP Dynamic Ports field is blank. There should be no characters – numbers or letters – be present in this field.
- Enter a static port number into the TCP Port field. This is the value you will need to configure into CE in the following steps.
- Find the IPAll address at the bottom of the TCP/IP Properties window and enter the same port number in the TCP Port field of this entry as well.
Launch the CE PowerShell on the CE Core Host computer and execute the following commands to confirm both CE databases (ACESystem and ACEReport) were properly installed into the explicitly named SQL instance:
Get-CESystemDatabaseProperties
and
Get-CEReportDatabaseProperties
You should be seeing the named instance in the above format in the Fqdn row of the cmdlet output. We now need to let CE know of the TCP port of the SQL named instance. Execute these CE PowerShell commands with the information collected:
Set-CESystemDatabaseProperties -Fqdn [your SQL Server FQDN][your SQL instance name] -Port [TCP port of the named instance] -DatabaseName ACESystem -Login ACESystem -Password MyACEP1ssw0rd -Timeout 120 Set-CEReportDatabaseProperties -Fqdn [your SQL Server FQDN][your SQL instance name] -Port [TCP port of the named instance] -DatabaseName ACEReport -Login ACEReport -Password MyACEP1ssw0rd -Timeout 120