This update brings the below changes over the previous release:
- Added support for |DataDirectory| macro in
AttachDBFilename
for .NET Core client #284
- Fixed connection resiliency check #310
- Fixed
SNIPacket.ReadFromStreamAsync
to not consume sameValueTask
twice #295 - Fixed driver behavior to not send Attention signal for successful Bulk Copy operation #308
- Fixed driver behavior to abort connection when encountering
SqlException
onSqlTransaction.Commit
#299 - Fixed driver behavior to not throw exception on invalid app.config files #319
- Improved async read performance by adding multi-packet target buffer caching #285
- Improved performance of
TdsParserStateObject
andSqlDataReader
snapshot mechanisms #198 - Updated
SqlDataReader.Close
documentation #314
New features over the 1.0 release of Microsoft.Data.SqlClient.
- Always Encrypted with secure enclaves - Always Encrypted is available starting in Microsoft SQL Server 2016. Secure enclaves are available starting in Microsoft SQL Server 2019.
- .NET Framework 4.6+
- .NET Core 2.1+ (Windows x86, Windows x64, Linux, macOS)
- .NET Standard 2.0+ (Windows x86, Windows x64, Linux, macOS)
- System.Data.Common 4.3.0
- Microsoft.Data.SqlClient.SNI 1.1.0
- Microsoft.Identity.Client 3.0.8
- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.5.0
- Microsoft.IdentityModel.JsonWebTokens 5.5.0
- Microsoft.Win32.Registry 4.5.0
- runtime.native.System.Data.SqlClient.sni 4.4.0
- System.Security.Principal.Windows 4.5.0
- System.Text.Encoding.CodePages 4.5.0
- System.Configuration.ConfigurationManager 4.5.0
- Microsoft.Identity.Client 3.0.8
- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.5.0
- Microsoft.IdentityModel.JsonWebTokens 5.5.0
- Microsoft.Win32.Registry 4.5.0
- runtime.native.System.Data.SqlClient.sni 4.4.0
- System.Buffers 4.4.0
- System.Diagnostics.DiagnosticSource 4.5.0
- System.Memory 4.5.1
- System.Security.Principal.Windows 4.5.0
- System.Text.Encoding.CodePages 4.5.0
- System.Configuration.ConfigurationManager 4.5.0
- Microsoft.Identity.Client 3.0.8
C++ Runtime Required on Windows
When running on Windows, this library has a dependency on Microsoft.Data.SqlClient.SNI on .NET Framework and runtime.native.System.Data.SqlClient.sni on .NET Core, which requires the Microsoft Visual C++ Redistributable to be installed: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
In general, existing documentation which uses System.Data.SqlClient on .NET Framework should now work with .NET Core, too.
- Develop using Always Encrypted with .NET Framework Data Provider
- Always Encrypted: Protect sensitive data and store encryption keys in the Windows certificate store
In order to use the enclave feature, connection strings should include the required attestation protocol and attestation URL. Examples:
Attestation Protocol=HGS;Enclave Attestation Url=<attestation_url_for_HGS>