This update brings the below changes over the previous release:
User Id
connection property now requiresClient Id
instead ofObject Id
for User-Assigned Managed Identity #1010 Read moreSqlDataReader
now returns aDBNull
value instead of an emptybyte[]
. Legacy behavior can be enabled by settingAppContext
switch Switch.Microsoft.Data.SqlClient.LegacyRowVersionNullBehavior #998 Read more
Microsoft.Data.SqlClient now depends on Azure.Identity library to acquire a token for "Active Directory Managed Identity/MSI" and "Active Directory Service Principal" authentication modes. #1010 Read more
- Upgraded Native SNI dependency to v3.0.0-preview1 along with enhanced event tracing support #1006 Read more
- Fixed wrong data blended with transactions in .NET Core by marking a connection as doomed if the transaction completes or aborts while there is an open result set #1023
- Fixed derived parameters containing incorrect typename #1020
- Fixed server connection leak possibilities when an exception occurs in pooling layer #890
- Fixed IP connection resolving logic in .NET Core #1016 #1031
- Performance improvements in
SqlDateTime
toDateTime
internal conversion method #912 - Improved memory allocation by avoiding unnecessary context switching 1008
- Updated
Microsoft.Identity.Client
version from 4.21.1 to 4.22.0 #1036 - Various performance improvements #963 #996 #1004 #1012 #1017
- Event source tracing improvements #1018
- Changes to share common files between NetFx and NetCore source code #871 #887
Microsoft.Data.SqlClient now depends on the Azure.Identity library to acquire tokens for "Active Directory Managed Identity/MSI" and "Active Directory Service Principal" authentication modes. This change brings the following changes to the public surface area:
- Breaking Change
The "User Id" connection property now requires "Client Id" instead of "Object Id" for "User-Assigned Managed Identity". - Public API
New read-only public property:SqlAuthenticationParameters.ConnectionTimeout
- Dependency
Azure.Identity v1.3.0
Microsoft.Data.SqlClient.SNI
(.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime
(.NET Core/Standard dependency) versions have been updated to v3.0.0-preview1.21104.2
. Event tracing in SNI.dll will no longer be enabled through a client application. Subscribing a session to the Microsoft.Data.SqlClient.EventSource provider through tools like xperf or perfview will be sufficient.
SqlDataReader
returns a DBNull
value instead of an empty byte[]
. To enable the legacy behavior, you must enable the following AppContext switch on application startup:
"Switch.Microsoft.Data.SqlClient.LegacyRowVersionNullBehavior"
- .NET Framework 4.6.1+ (Windows x86, Windows x64)
- .NET Core 2.1+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
- .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
- Microsoft.Data.SqlClient.SNI 3.0.0-preview1.21104.2
- Azure.Identity 1.3.0
- Microsoft.Identity.Client 4.22.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0
- Microsoft.IdentityModel.JsonWebTokens 6.8.0
- Microsoft.Data.SqlClient.SNI.runtime 3.0.0-preview1.21104.2
- Microsoft.Win32.Registry 4.7.0
- System.Security.Principal.Windows 4.7.0
- System.Text.Encoding.CodePages 4.7.0
- System.Diagnostics.DiagnosticSource 4.7.0
- System.Configuration.ConfigurationManager 4.7.0
- System.Runtime.Caching 4.7.0
- Azure.Identity 1.3.0
- Microsoft.Identity.Client 4.22.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0
- Microsoft.IdentityModel.JsonWebTokens 6.8.0
- Microsoft.Data.SqlClient.SNI.runtime 3.0.0-preview1.21104.2
- Microsoft.Win32.Registry 4.7.0
- System.Security.Principal.Windows 4.7.0
- System.Text.Encoding.CodePages 4.7.0
- System.Diagnostics.DiagnosticSource 4.7.0
- System.Configuration.ConfigurationManager 4.7.0
- System.Runtime.Caching 4.7.0
- Azure.Identity 1.3.0
- Microsoft.Identity.Client 4.22.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0
- Microsoft.IdentityModel.JsonWebTokens 6.8.0
- Microsoft.Data.SqlClient.SNI.runtime 3.0.0-preview1.21104.2
- Microsoft.Win32.Registry 4.7.0
- System.Buffers 4.5.1
- System.Memory 4.5.4
- System.Security.Principal.Windows 4.7.0
- System.Text.Encoding.CodePages 4.7.0
- System.Runtime.Caching 4.7.0
- Azure.Identity 1.3.0
- Microsoft.Identity.Client 4.22.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0
- Microsoft.IdentityModel.JsonWebTokens 6.8.0
- Microsoft.Data.SqlClient.SNI.runtime 3.0.0-preview1.21104.2
- Microsoft.Win32.Registry 4.7.0
- System.Buffers 4.5.1
- System.Memory 4.5.4
- System.Security.Principal.Windows 4.7.0
- System.Text.Encoding.CodePages 4.7.0
- System.Runtime.Caching 4.7.0
- Azure.Identity 1.3.0
- Microsoft.Identity.Client 4.22.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0
- Microsoft.IdentityModel.JsonWebTokens 6.8.0