Troubleshooting
If you encounter any of the following issues or errors, SailPoint recommends that you follow the guidance provided below to resolve the error before contacting SailPoint Support.

The logs show error: com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported.
Resolution: The issue arises when the application is using an older version of the mssql jar that does not support the variant data type. Upgrade to the latest mssql jar provided by Microsoft to resolve the issue.

When a login user is created in Microsoft SQL Server and is granted permission only on some of the Databases present on the server and if aggregation task is run for that
Resolution: In configuration under the Include Databases section, provide the complete list of databases (comma separated list) for which the login user have accesses.
This completes the aggregation successfully, and only details of the users present in the list of included database will be fetched.

During aggregation if the SERVERNAME variable has not been declared in the Microsoft SQL Server database, connector displays the following error message:
"SQLServerException: Must declare the scalar variable "@@SERVERNAME"
Resolution: The SERVERNAME variable must be declared and defined in the Microsoft SQL Server database before performing the aggregation.

Delete provisioning operation fails with the following error message when the service account does not have db_owner permission on the Microsoft SQL Server database along with Alter any login permission on it:
"Logins other than the current user can only be seen by members of the sysadmin role."
Resolution: A service account must have the db_owner permission on the Microsoft SQL Server database along with Alter any login permission.

When the index column contains special characters, during merging it shows the following error:
[ InvalidConfigurationException ] [ Possible suggestions ] For data merging, data should be ordered. Please add order by clause in aggregation query or set disableOrderingCheck as true. [ Error details ] java.lang.Exception: Data out of order exception. Data should be sorted in ascending order.
Resoultion:SailPoint uses the java.text.Collator
class to check for ascending (or descending) order. The JVM instance uses the environment locale setting of language, country, and variant when comparing the records.
If the database ResultSet
does not comply with the collator instance, then the exception occurs. The recommended resolution is to align the locale settings between SailPoint and your database instance. As an alternative, adjusting the dataset also resolves the ordering constraint.
Method 1:
Note
You may have to have a collator class to accomplish this. Set the Collator on the application if you know how the database is sorting.
-
In order to add a collator class, you need to write one and add the compiled class to your library path for the web application and add it to your JDBC app definition.
-
Add the following entry to the source XML using the REST APIs:
POST https://{orgName}.api.identitynow.com/cc/api/source/update/{source ID}
In the body of the POST, use the form-data as follows:
-
Key:
collatorClassName
-
Value:
something.collators.MyCollator
Note
For more information on SailPoint's REST APIs, refer to Best Practices: REST API Authentication and REST API - Update Source (Partial) in the SailPoint Developer Community.
-
-
Drop the
MyCollator.class
in WEB-INF\classes\something\collatorsFor more information, refer to RuleBasedCollator (Java Platform SE 7).
You will want to extend your custom collator off of this class.
Method 2:
-
Remove the check for sorting and make sure that the ordering in the SQL query is correct.
-
Add the following entry to the source XML using the REST APIs:
POST https://{orgName}.api.identitynow.com/cc/api/source/update/{source ID}
In the body of the POST, use the form-data as follows:
-
Key:
disableOrderingCheck
-
Value:
true
Note
For more information on SailPoint's REST APIs, refer to Best Practices: REST API Authentication and REST API - Update Source (Partial) in the SailPoint Developer Community.
-
You should know that is your data is out of order in your query, then there is the possibility of the aggregation missing information with this option, but if you are sure your data is in order, then this workaround should be able to work for you.

The test connection fails with the following error even when SSL is not configured for the connection:
The driver could not enable secure connection to SQL server by using SSL encryption. pkix path validation failed java.security.cert.certpathvalidatorexception validity check failed
Resolution: By default, in versions 4.0.0 or above, Microsoft set the value for encrypt as true. For these versions you must pass encrypt=false;
in the URL.
For example:
jdbc.sqlserver://<SQL server hostname>:<port>;encrypt=false;

After configuring Windows authentication, test connections fail.
Resolution – Refer to the Kerberos Setup Checklist and confirm that Windows authentication and Kerberos are configured correctly.
The Following Errors are Only Applicable When Using an Azure Managed Instance

Resolution: This is expected system behavior as cloud databases periodically reconfigure themselves. If you connect to it in this time span, you will get a transient error. Wait a couple of minutes and retry the connection.

Resolution: For a connection to an Azure SQL Managed Instance, check the following to resolve the error:
-
If the endpoint is a private endpoint (for example, if you are using an Azure ExpressRoute or other VPN connection), ensure that the tcp/3342 port is open to the managed instance private endpoint DNS address (for example, this could be an application gateway or dedicated IP address depending on your configuration).
-
If the endpoint is a public endpoint, ensure that the tcp/3342 port is open to the public endpoint DNS address (for example, this could be an application gateway or a dedicated IP address depending on your configuration).