SNI Driver



-->

  1. Sn Driver Booster 7
  2. Sno Drivers Videos
  3. Sn Driver Toolkit
  4. Sin Driver
  1. Stack Overflow The World’s Largest Online Community for Developers.
  2. Forklift Driver - 2nd Shift SNI Financial Holyoke, MA 1 day ago Be among the first 25 applicants. See who SNI Financial has hired for this role. Apply on company website Save.

Release notes for Microsoft.Data.SqlClient 2.1

Team truck drivers expect more miles and more money. At Schneider, you can expect to see between 5,000 and 6,000 miles per week, so that means you'll be brin.

Release notes are also available in the GitHub Repository: 2.1 Release Notes.

New features

Cross-Platform support for Always Encrypted

Microsoft.Data.SqlClient v2.1 extends support for Always Encrypted on the following platforms:

Support Always EncryptedSupport Always Encrypted with Secure EnclaveTarget FrameworkMicrosoft.Data.SqlClient VersionOperating System
YesYes.NET Framework 4.6+1.1.0+Windows
YesYes.NET Core 2.1+2.1.0+1Windows, Linux, macOS
YesNo2.NET Standard 2.02.1.0+Windows, Linux, macOS
YesYes.NET Standard 2.1+2.1.0+Windows, Linux, macOS

Note

1 Before Microsoft.Data.SqlClient version v2.1, Always Encrypted is only supported on Windows.2 Always Encrypted with secure enclaves is not supported on .NET Standard 2.0.

Azure Active Directory Device Code Flow authentication

Microsoft.Data.SqlClient v2.1 provides support for 'Device Code Flow' authentication with MSAL.NET.Reference documentation: OAuth2.0 Device Authorization Grant flow

Connection string example:

Server=<server>.database.windows.net; Authentication=Active Directory Device Code Flow; Database=Northwind;

The following API enables customization of the Device Code Flow callback mechanism:

Azure Active Directory Managed Identity authentication

Microsoft.Data.SqlClient v2.1 introduces support for Azure Active Directory authentication using managed identities.

The following authentication mode keywords are supported:

  • Active Directory Managed Identity
  • Active Directory MSI (for cross MS SQL drivers compatibility)

Connection string examples:

Azure Active Directory Interactive authentication enhancements

Microsoft.Data.SqlClient v2.1 adds the following APIs to customize the 'Active Directory Interactive' authentication experience:

SqlClientAuthenticationProviders configuration section

Microsoft.Data.SqlClient v2.1 introduces a new configuration section, SqlClientAuthenticationProviders (a clone of the existing SqlAuthenticationProviders). The existing configuration section, SqlAuthenticationProviders, is still supported for backwards compatibility when the appropriate type is defined.

The new section allows application config files to contain both a SqlAuthenticationProviders section for System.Data.SqlClient and a SqlClientAuthenticationProviders section for Microsoft.Data.SqlClient.

Azure Active Directory authentication using an application client ID

Microsoft.Data.SqlClient v2.1 introduces support for passing a user-defined application client ID to the Microsoft Authentication Library. Application Client ID is used when authenticating with Azure Active Directory.

The following new APIs are introduced:

  1. A new constructor has been introduced in ActiveDirectoryAuthenticationProvider:
    [Applies to all .NET Platforms (.NET Framework, .NET Core, and .NET Standard)]

Usage:

  1. A new configuration property has been introduced under SqlAuthenticationProviderConfigurationSection and SqlClientAuthenticationProviderConfigurationSection:
    [Applies to .NET Framework and .NET Core]

Usage:

Data Classification v2 support

Microsoft.Data.SqlClient v2.1 introduces support for Data Classification's 'Sensitivity Rank' information. The following new APIs are now available:

Server Process ID for an active SqlConnection

Microsoft.Data.SqlClient v2.1 introduces a new SqlConnection property, ServerProcessId, on an active connection.

Trace Logging support in Native SNI

Microsoft.Data.SqlClient v2.1 extends the existing SqlClientEventSource implementation to enable event tracing in SNI.dll. Events must be captured using a tool like Xperf.

Tracing can be enabled by sending a command to SqlClientEventSource as illustrated below:

'Command Timeout' connection string property

Microsoft.Data.SqlClient v2.1 introduces the 'Command Timeout' connection string property to override the default of 30 seconds. The timeout for individual commands can be overridden using the CommandTimeout property on the SqlCommand.

Connection string examples:

'Server={serverURL}; Initial Catalog={db}; Integrated Security=true; Command Timeout=60'

Removal of symbols from Native SNI

With Microsoft.Data.SqlClient v2.1, we've removed the symbols introduced in v2.0.0 from Microsoft.Data.SqlClient.SNI.runtime NuGet starting with v2.1.1. The public symbols are now published to Microsoft Symbols Server for tools like BinSkim that require access to public symbols.

Source-Linking of Microsoft.Data.SqlClient symbols

Starting with Microsoft.Data.SqlClient v2.1, Microsoft.Data.SqlClient symbols are source-linked and published to the Microsoft Symbols Server for an enhanced debugging experience without the need to download source code.

Release notes for Microsoft.Data.SqlClient 2.0

Release notes are also available in the GitHub Repository: 2.0 Release Notes.

Breaking changes

  • The access modifier for the enclave provider interface SqlColumnEncryptionEnclaveProvider has been changed from public to internal.

  • Constants in the SqlClientMetaDataCollectionNames class have been updated to reflect changes in SQL Server.

  • The driver will now perform Server Certificate validation when the target SQL Server enforces TLS encryption, which is the default for Azure connections.

  • SqlDataReader.GetSchemaTable() now returns an empty DataTable instead null.

  • The driver now performs decimal scale rounding to match SQL Server behavior. For backwards compatibility, the previous behavior of truncation can be enabled using an AppContext switch.

  • For .NET Framework applications consuming Microsoft.Data.SqlClient, the SNI.dll files previously downloaded to the binx64 and binx86 folders are now named Microsoft.Data.SqlClient.SNI.x64.dll and Microsoft.Data.SqlClient.SNI.x86.dll and will be downloaded to the bin directory.

  • New connection string property synonyms will replace old properties when fetching connection string from SqlConnectionStringBuilder for consistency. Read More

New features

DNS failure resiliency

The driver will now cache IP addresses from every successful connection to a SQL Server endpoint that supports the feature. If a DNS resolution failure occurs during a connection attempt, the driver will try establishing a connection using a cached IP address for that server, if any exists.

EventSource tracing

This release introduces support for capturing event trace logs for debugging applications. To capture these events, client applications must listen for events from SqlClient's EventSource implementation:

For more information, see how to Enable event tracing in SqlClient.

Enabling managed networking on Windows

A new AppContext switch, 'Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows', enables the use of a managed SNI implementation on Windows for testing and debugging purposes. This switch will toggle the driver's behavior to use a managed SNI in .NET Core 2.1+ and .NET Standard 2.0+ projects on Windows, eliminating all dependencies on native libraries for the Microsoft.Data.SqlClient library.

See AppContext Switches in SqlClient for a full list of available switches in the driver.

Enabling decimal truncation behavior

The decimal data scale will be rounded by the driver by default as is done by SQL Server. For backwards compatibility, you can set the AppContext switch 'Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal' to true.

New connection string property synonyms

New synonyms have been added for the following existing connection string properties to avoid spacing confusion around properties with more than one word. Old property names will continue to be supported for backwards compatibility but the new connection string properties will now be included when fetching connection string from SqlConnectionStringBuilder.

Existing connection string propertyNew Synonym
ApplicationIntentApplication Intent
ConnectRetryCountConnect Retry Count
ConnectRetryIntervalConnect Retry Interval
PoolBlockingPeriodPool Blocking Period
MultipleActiveResultSetsMultiple Active Result Sets
MultiSubnetFailoverMultiple Subnet Failover
TransparentNetworkIPResolutionTransparent Network IP Resolution
TrustServerCertificateTrust Server Certificate

SqlBulkCopy RowsCopied property

The RowsCopied property provides read-only access to the number of rows that have been processed in the ongoing bulk copy operation. This value may not necessarily be equal to the final number of rows added to the destination table.

Connection open overrides

The default behavior of SqlConnection.Open() can be overridden to disable the ten-second delay and automatic connection retries triggered by transient errors.

Note

Note that this override can only be applied to SqlConnection.Open() and not SqlConnection.OpenAsync().

Username support for Active Directory Interactive mode

A username can be specified in the connection string when using Azure Active Directory Interactive authentication mode for both .NET Framework and .NET Core

Set a username using the User ID or UID connection string property:

Order hints for SqlBulkCopy

Order hints can be provided to improve performance for bulk copy operations on tables with clustered indexes. For more information, see the bulk copy operations section.

SNI dependency changes

Microsoft.Data.SqlClient (.NET Core and .NET Standard) on Windows is now dependent on Microsoft.Data.SqlClient.SNI.runtime, replacing the previous dependency on runtime.native.System.Data.SqlClient.SNI. The new dependency adds support for the ARM platform along with the already supported platforms ARM64, x64, and x86 on Windows.

Release notes for Microsoft.Data.SqlClient 1.1.0

Release notes are also available in the GitHub Repository: 1.1 Release Notes.

New features

Sn Driver Booster 7

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. To use the enclave feature, connection strings should include the required attestation protocol and attestation URL. For example:

For more information, see:

Release notes for Microsoft.Data.SqlClient 1.0

The initial release for the Microsoft.Data.SqlClient namespace offers additional functionality over the existing System.Data.SqlClient namespace.Release notes are also available on the GitHub Repository: 1.0 Release Notes.

New features

New features over .NET Framework 4.7.2 System.Data.SqlClient

  • Data Classification - Available in Azure SQL Database and Microsoft SQL Server 2019.

  • UTF-8 support - Available in Microsoft SQL Server 2019.

New features over .NET Core 2.2 System.Data.SqlClient

  • Data Classification - Available in Azure SQL Database and Microsoft SQL Server 2019.

  • UTF-8 support - Available in Microsoft SQL Server 2019.

  • Authentication - Active Directory Password authentication mode.

Data Classification

SNI Driver

Data Classification brings a new set of APIs exposing read-only Data Sensitivity and Classification information about objects retrieved via SqlDataReader when the underlying source supports the feature and contains metadata about data sensitivity and classification. See the sample application at Data Discovery and Classification in SqlClient.

UTF-8 support

UTF-8 support doesn't require any application code changes. These SqlClient changes optimize client-server communication when the server supports UTF-8 and the underlying column collation is UTF-8. See the UTF-8 section under What's new in SQL Server 2019.

Sno Drivers Videos

Always encrypted with enclaves

In general, existing documentation that uses System.Data.SqlClient on .NET Framework and built-in column master key store providers should now work with .NET Core, too.

Sn Driver Toolkit

Authentication

Different authentication modes can be specified by using the Authentication connection string option. For more information, see the documentation for SqlAuthenticationMethod.

Note

Sin Driver

Custom key store providers, like the Azure Key Vault provider, will need to be updated to support Microsoft.Data.SqlClient. Similarly, enclave providers will also need to be updated to support Microsoft.Data.SqlClient.Always Encrypted is only supported against .NET Framework and .NET Core targets. It is not supported against .NET Standard since .NET Standard is missing certain encryption dependencies.