Here is the list of the registry keys used for ODBC connections when using SQLSRV32.dll / SQLNCLI.dll / SQLNCLI10.dll respectively.
Obviously keys for sqlsrv32 exist for SQLNCLI.dll and SQLNCLI10.dll for backwards compatibility.
And subsequently all keys for SQLNCLI.dll exists for SQLNCLI10.dll for the same reason.
The keys below are when using "User DSN", if you are using "System DSN", then the keys will be at:
User DSN: HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\...
System DSN: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\...
The network address of the server to connect to.
Specifies that the ANSI_NULLS, ANSI_WARNINGS, and ANSI_PADDINGS options be set ON.
Specifies the name of the primary file for an attachable database.
Means that the driver converts ANSI strings sent between the client computer and SQL Server by using Unicode
This is the default database to be used for the DSN.
A description of this particular DSN.
Driver used for the DSN; ie. sqlsrv32.dll, sqlncli.dll, sqlncli10.dll for SQL Server connections
Data that is passed through connections that are made using this DSN will be encrypted
Language you want to use for system messages
The last user to use this DSN. Password can't be saved for security reasons.
Networkprotocol to be used.
This specifies that the driver logs any query that takes longer than the Long query time value specified.
This specifies where the log file for [QueryLog_On] is written.
This specifies the threshold for [QueryLog_On] in milliseconds.
This means that SQL Server enforces ANSI rules regarding quote marks.
The driver will use the regional settings of the client computer for formatting currency, numbers, dates, and times.
The SQL Server that the DSN will connect to.
This specifies that statistics be will logged.
This specifies where the log file for [StatsLog_On] is written.
Yes means that Windows Authentication will be used
This keyword is deprecated, and its setting is ignored by the SQL Server Native Client ODBC Driver.
The failover partner of the database in a mirrored setup.
This enables or disables multiple active result sets (MARS) on the connection.
When used with Encrypt, enables encryption using a self-signed server certificate.
The SPN for the failover partner. An empty string uses the default, driver-generated SPN.
The SPN for the server. An empty string uses the default, driver-generated SPN.
I will update when I find the missing descriptions and/or the default values.
Some of the resources:
"Using Connection String Keywords with SQL Server Native Client"
"INFO: Registry Entries and Keywords for SQL Server Connection Strings"
I LOVE YOU MAN!!!!!!!! I've been looking for these details for a while. I'm a wiz when it comes to researching these issues but I could not find something this detailed until I found your post.