Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 2.94 KB

registry-settings.md

File metadata and controls

50 lines (35 loc) · 2.94 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic
Registry Settings
Registry Settings
David-Engel
davidengel
08/31/2022
sql
connectivity
reference

Registry settings

[!INCLUDE SQL Server]

[!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 and certificate validation

Force protocol encryption

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.

Trust server certificate

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.

TCP Keep-Alive and Protocol Order registry properties

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.

See also

Encryption and certificate validation
MSOLEDBSQL major version differences