Sitecore just uses the standard .net SqlClient
data provider. So these values are part of the standard .net connection string properties for 4.5+
According to the docs,
The ConnectRetryCount
and ConnectRetryInterval
connection string keywords let you control the idle connection resiliency feature.
The connection retry login is built into the SqlConnection
object:
Connection versus command
The ConnectRetryCount and ConnectRetryInterval parameters let your SqlConnection object retry the connect operation without telling or bothering your program, such as returning control to your program. The retries can occur in the following situations:
- mySqlConnection.Open method call
- mySqlConnection.Execute method call
There is a subtlety. If a transient error occurs while your query is being executed, your SqlConnection object does not retry the connect operation, and it certainly does not retry your query. However, SqlConnection very quickly checks the connection before sending your query for execution. If the quick check detects a connection problem, SqlConnection retries the connect operation. If the retry succeeds, you query is sent for execution.
Should ConnectRetryCount be combined with application retry logic?
Suppose your application has robust custom retry logic. It might retry the connect operation 4 times. If you add ConnectRetryInterval and ConnectRetryCount =3 to your connection string, you will increase the retry count to 4 * 3 = 12 retries. You might not intend such a high number of retries.
So Sitecore will not handle the retries, if you have the right .net framework version and the values set, that would be handled by the SqlConnection
object.
References: