| title | Registry Settings | |
|---|---|---|
| description | Registry Settings | |
| author | David-Engel | |
| ms.author | davidengel | |
| ms.date | 08/31/2022 | |
| ms.service | sql | |
| ms.subservice | connectivity | |
| ms.topic | reference | |
| ms.custom |
|
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics PDW FabricSQLDB]
[!INCLUDEDriver_OLEDB_Download]
Each major version of the OLE DB Driver for SQL Server uses its own set of registry settings. The following are the version specific base registry keys (referred to as {base_registry_key} later on):
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI
{major_version}.0 - HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSSQLServer\Client\SNI
{major_version}.0
Replace the {major_version} placeholder in the above keys depending on the major version of the driver, for example: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI19.0 is the base key for versions 19.x.x.
Encryption can be controlled through the Value field of the {base_registry_key}\GeneralFlags\Flag1 registry entry.
Valid values are 0, 1, or 2 (which maps to Optional, Mandatory, and Strict connection property/keyword values respectively). The OLE DB driver chooses the most secure option between the registry and the connection property/keyword settings.
Certificate validation can be controlled through the Value field of the {base_registry_key}\GeneralFlags\Flag2 registry entry.
Valid values are 0 or 1. The OLE DB driver chooses the most secure option between the registry and the connection property/keyword settings. That is, the driver will validate the server certificate as long as at least one of the registry/connection settings enables server certificate validation.
For MSOLEDBSQL driver versions 19.1 and above, Protocol Order, TCP Keep-Alive, and Keep-Alive Interval can be adjusted in the following registry entries:
- Protocol Order:
{base_registry_key}\ProtocolOrder - TCP Keep-Alive:
{base_registry_key}\tcp\Property2\Value - TCP Keep-Alive Interval:
{base_registry_key}\tcp\Property3\Value
The Protocol Order property is an ordered sequence of null-terminated strings that represent supported protocols. The default Protocol Order value is sm tcp np.
The TCP Keep-Alive parameter (in milliseconds) controls how often TCP attempts to verify that an idle connection is still intact by sending a KEEPALIVE packet. The default is 30,000 milliseconds.
The Keep-Alive Interval parameter (in milliseconds) determines the interval separating KEEPALIVE retransmissions until a response is received. The default is 1000 milliseconds.
Encryption and certificate validation
MSOLEDBSQL major version differences