Installation and Upgrade > Advanced Deployment Considerations > Advanced Database Configurations > Configuring Windchill with SQL Server Always On
  
Configuring Windchill with SQL Server Always On
The following sections document configuration steps for using Windchill with SQL Server Always On.
Configuring a New Windchill Installation for use with SQL Server Always On
Complete the following steps to configure a new Windchill installation for use with SQL Server Always On.
1. Configure and verify SQL Server Always On following the information provided by Microsoft: https://msdn.microsoft.com/en-us/library/hh510260(v=sql.120).aspx
* 
PTC strongly recommends configuring the SQL Server Always On failover mode as automatic, with secondary replicas operating in synchronous availability mode to avoid any data inconsistencies immediately after a database failover. While assuring data consistency, this availability mode can negatively affect overall system performance.
2. Create a Windchill SQL Server database on the SQL Server Always On primary replica server by launching the PTC Solution Installer (PSI), and then selecting SQL Server Configuration > Create PTC Windchill Database and Installation User option from the Standalone Product or Component product list.
3. Add the Windchill SQL Server database to the Always On availability group, and create an availability group listener. For more information, see the following resources from Microsoft:
Creating a new availability group: https://msdn.microsoft.com/en-us/library/gg509103(v=sql.120).aspx
Creating a new availability group listener: https://msdn.microsoft.com/en-us/library/hh213080(v=sql.120).aspx
4. Launch the PTC Solution Installer (PSI) again, and install Windchill by selecting the SQL Server Advanced option for the Database Software drop-down list on the platform components window.
5. Enter the following information on the database information window of the PSI:
SQL Server Connection String for PTC Windchill
Enter the full SQL Server Always On availability group connection string in the following format, replacing the variables with values appropriate for your system:
<Availability_Group_Listener_DNS_Name>:<Port_No>;DatabaseName=<Windchill_Database_Name>;MultiSubnetFailover=true
SQL Server Connection String for PTC Windchill Business Reporting
<Availability_Group_Listener_DNS_Name>:<Port_No>
SQL Server User Name for PTC Windchill Installation
Enter the SQL Server user name for the existing Windchill database that was created in step 2.
SQL Server User Password for PTC Windchill Installation
Enter the SQL Server password for the existing Windchill database that was created in step 2.
Configuring an Existing Windchill SQL Server Database for use with SQL Server Always On
Complete the following steps to configure an existing Windchill SQL Server database for use with the SQL Server Always On configuration.
1. Stop Windchill.
2. Back up the existing Windchill database, and verify that the backup is valid.
3. Configure and verify SQL Server Always On following the information provided by Microsoft: https://msdn.microsoft.com/en-us/library/hh510260(v=sql.120).aspx
* 
PTC strongly recommends configuring the SQL Server Always On failover mode as automatic, with secondary replicas operating in synchronous availability mode to avoid any data inconsistencies immediately after a database failover. While assuring data consistency, this availability mode can negatively affect overall system performance.
4. Add the Windchill SQL Server database to the Always On availability group, and create an availability group listener.
5. From a Windchill shell, fun the following command to set the needed properties, replacing the variables with values appropriate for your system:
xconfmanager -s wt.pom.dbConnectionRetryCount=60 -t "db/db.properties"
xconfmanager -s wt.pom.jdbc.host="<Availability_Group_Listener_DNS_Name>:<Port_No>;DatabaseName=<Windchill_Database_Name>;MultiSubnetFailover=true" -t "db/db.properties"
xconfmanager -s wt.pom.jdbc.port="" -t "db/db.properties"
xconfmanager -s wt.pom.jdbc.service="" -t "db/db.properties"
xconfmanager –p
6. Start Windchill.
7. Verify that all Windchill functionality works as expected.