The connection string required when the databases are moved to a MS SQL Always On Availability Group (AG) should contain the port and instance name.
Using the normal format in the hostname field produces an error it seems due to the code stripping out the backslash. So we have used a double backslash in the hostname filed when deploying the vApp applications: ie. AWSDB01\\SQLDBS01.
In the standalone xml we see the double backslash converted to a single baskslash:
<connection-url>jdbc:sqlserver://<sql_FQDN.com>\<SQL_DB>1:55150;selectMethod=cursor;DatabaseName=CAIDM_OBJECTSTORE</connection-url>
While this works OK, it has caused a few side effects:
The 'cavapp_monitor' script and the vApp dashboard give wrong status for the database connection tests:
[ERROR] Connection to IM database (<sql_FQDN.com>\<SQL_DB>:55150) failed
[ERROR] Connection to IP database (<sql_FQDN.com>\<SQL_DB>:55150) failed
[OK] Connection to IG database (<sql_FQDN.com>\<SQL_DB>:55150) succeeded
These same connection strings worked OK for the DB deployment. They are working fine for the JBoss applications. It seems that the database monitor script must be taking the "\" out of the connection string.
Also, the populateIgDatabase vApp command fails when the instance name is used. However, the IG Application vApp deployment was successful (and created the original schemas) during the original deployment.
Release : 14.4
There are two ways for configuring the instance name in the connection url.
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
or
jdbc:sqlserver://<hostname>;instanceName=<instance_name>;databaseName=<database_name>;
When you try the option 1 issue exists, but if you try the 2nd option everything is working fine, I tested before confirming.
Use this format for specifying the DB url:
jdbc:sqlserver://<hostname>;instanceName=<instance_name>;databaseName=<database_name>;