5 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

This document specifies version-specific details in the Microsoft .NET Framework. For information about which versions of .NET Framework are available in each released Windows product or as supplemental software, see [MS-NETOD] section 4.

  • Microsoft .NET Framework 1.0

  • Microsoft .NET Framework 1.1

  • Microsoft .NET Framework 2.0

  • Microsoft .NET Framework 3.5

  • Microsoft .NET Framework 4.0

  • Microsoft .NET Framework 4.5

  • Microsoft .NET Framework 4.6

  • Microsoft .NET Framework 4.7

  • Microsoft .NET Framework 4.8

  • 2007 Microsoft Office system

  • Microsoft Office 2010 system

  • Microsoft Office 2013 system

  • Microsoft Office 2016

  • Microsoft Office 2019

  • Microsoft SQL Server 2000

  • Microsoft SQL Server 2005

  • Microsoft SQL Server 2008

  • Microsoft SQL Server 2008 Express

  • Microsoft SQL Server 2008 R2

  • Microsoft SQL Server 2012

  • Microsoft SQL Server 2014

  • Microsoft SQL Server 2016

  • Microsoft SQL Server 2017

  • Microsoft SQL Server 2019

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2: The Asynchronous Processing key is ignored in the .NET Framework 4.5, .NET Framework 4.6, .NET Framework 4.7, and .NET Framework 4.8.

<2> Section 2.2: A file path that conforms to the format specified in [MSDN-FILE].

<3> Section 2.2: The "Active Directory Password" value is not supported by Microsoft SQL Server. This value was introduced in the .NET Framework 4.6.1 and is not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, and .NET Framework 4.6.

<4> Section 2.2: The "Active Directory Integrated" value was introduced in SQL Server 2016 and is not supported by SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 Express, SQL Server 2008 R2, SQL Server 2012, and SQL Server 2014. This value was also introduced in the .NET Framework 4.6.1 and is not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, and .NET Framework 4.6.

<5> Section 2.2: In Microsoft implementations, the user domain account is a Microsoft Windows user domain account. The SQL Server configuration determines whether SqlClient authenticates to the database directly by using either Kerberos or NTLM, or whether SqlClient initially contacts an STS to obtain an access token that subsequently is used to connect to the database.

<6> Section 2.2: The "Active Directory Interactive" value is not supported by SQL Server. This value was introduced in the .NET Framework 4.7.2 and is not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, .NET Framework 4.6, .NET Framework 4.7, and .NET Framework 4.7.1. 

<7> Section 2.2: The Column Encryption Setting key is not supported by SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 Express, SQL Server 2008 R2, SQL Server 2012, and SQL Server 2014. This key is also not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, and .NET Framework 4.5.

<8> Section 2.2: The value of the Data Source key can be either the name of a server on the network or the name of a SQL Server Configuration Manager advanced server entry. To specify a named instance of SQL Server, the server name ServerName\InstanceName can be used. Otherwise, if InstanceName is omitted, SqlClient connects to the default server. "(Local)" is also a valid name representing a copy of SQL Server that is running on the same computer. SQL Server 2000 does not support multiple instances of SQL Server running on the same computer.

<9> Section 2.2: In Microsoft implementations, if the value of the Network key is specified as "DBNETLIB," the protocol prefixes "tcp:" and "np:" can still be used.

<10> Section 2.2: The Enclave Attestation Url key is not supported by SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, and SQL Server 2017. This key was introduced in the .NET Framework 4.7.2 and is not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, .NET Framework 4.6, .NET Framework 4.7, and .NET Framework 4.7.1.

<11> Section 2.2: Even if the Encrypt key is set to "false", SqlClient looks at [Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib], and if the value of Encrypt is set to "true", the encryption is considered enabled.

<12> Section 2.2: The default value is "true" if the platform is WIN32NT. Otherwise, the default value is "false".

<13> Section 2.2: The Failover Partner key is not supported by the .NET Framework 1.0 or .NET Framework 1.1.

<14> Section 2.2: In Microsoft implementations, NTLM authentication [MSDN-NTLM] is used when the value of the Integrated Security key is "yes". In addition, depending on the server configuration, NTLM authentication might be used if the value of the Authentication key is "Active Directory Integrated".

<15> Section 2.2: The MultipleActiveResultSets key is not supported by the .NET Framework 1.0 or .NET Framework 1.1.

<16> Section 2.2: Of the SQL Server products that are applicable to this specification, with the exception of SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 Express, and SQL Server 2008 R2, when the value of the MultiSubnetFailover key is set to "true", SQL Server enables fast failover for all AlwaysOn availability groups and failover cluster instances.

<17> Section 2.2:  In Microsoft implementations, the behaviors of the values for the various components are described in the following table.

Value

Meaning

DBNMPNTW

The component DBNMPNTW implements the named pipes protocol [MSDN-NP].

DBMSSOCN

The component DBMSSOCN implements the TCP/IP protocol.

DBMSSPXN

The component DBMSSPXN implements the NWLink IPX/SPX protocol.

DBMSRPCN

The component DBMSRPCN implements the Multi-Protocol protocol.

DBMSVINN

The component DBMSVINN implements the Banyan Vines protocol.

DBMSADSN

The component DBMSADSN implements the ADSP protocol.

DBMSSHRN

The component DBMSSHRN implements the Shared Memory protocol.

DBMSLPCN

The component DBMSLPCN implements the Shared Memory protocol.

DBNETLIB

The default search order of network component can be used.

If the value specified is not listed above, or if the Network key is not specified, the default search order of network component can be used. For more information about the default search order of network component, see [MSKB-328383].

<18> Section 2.2:  The PoolBlockingPeriod key was introduced in the .NET Framework 4.6.2 and is not supported by the .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, .NET Framework 4.6, and .NET Framework 4.6.1.

<19> Section 2.2: In a Microsoft implementation, the value is one of the following:

  • Type System Version=SQL Server 2000

    The following conversions are performed when connecting to an instance of SQL Server 2000:

    • XML to NTEXT

    • UDT to VARBINARY

    • VARCHAR(MAX) to TEXT

    • NVARCHAR(MAX) to NEXT

  • Type System Version=SQL Server 2005

  • Type System Version=SQL Server 2008 (Applicable to only the Microsoft .NET Framework 2.0 Service Pack 1 (SP1), .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, .NET Framework 4.6, .NET Framework 4.7, and .NET Framework 4.8.)

  • Type System Version=SQL Server 2012 (Applicable to only the .NET Framework 4.5, .NET Framework 4.6, .NET Framework 4.7, and .NET Framework 4.8.)

  • Type System Version=Latest (The value "Latest" is equivalent to "Type System Version=SQL Server 2008". "Latest" should not be used.)

    Because "Latest" defaults to SQL Server 2008, the applications that target SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, and SQL Server 2019 require that users provide the correct version number for the type compatibility that the .NET Framework application expects. For example, an application that runs against SQL Server 2008 and that targets SQL Server 2016 uses "Type System Version=SQL Server 2008".

<20> Section 2.2: The value for the User Instance key indicates whether to redirect the connection from the default instance of SQL Server 2008 Express to another connection that is running in the same context of the user.

<21> Section 4.1: Connection strings are stored "as is" in memory or in any other persistent media. It is advised that the application safeguard any credential information.