Microsoft.Data.SqlClient 7.0.0-preview4.26064.3
Microsoft.Data.SqlClient
Description
Microsoft.Data.SqlClient is the official .NET data provider for Microsoft SQL Server and Azure SQL databases. It provides access to SQL Server and encapsulates database-specific protocols, including Tabular Data Stream (TDS).
This library grew from a union of the two System.Data.SqlClient components which live independently in .NET and .NET Framework. Going forward, support for new SQL Server and Azure SQL features will only be implemented in Microsoft.Data.SqlClient.
Supportability
This package supports:
- .NET Framework 4.6.2+
- .NET 8.0+
Installation
Install the package via NuGet:
dotnet add package Microsoft.Data.SqlClient
Or via the Package Manager Console:
Install-Package Microsoft.Data.SqlClient
Getting Started
Basic Connection
using Microsoft.Data.SqlClient;
var connectionString = "Server=myserver;Database=mydb;Integrated Security=true;";
using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
Console.WriteLine("Connected successfully!");
Execute a Query
using Microsoft.Data.SqlClient;
var connectionString = "Server=myserver;Database=mydb;Integrated Security=true;";
using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
using var command = new SqlCommand("SELECT Id, Name FROM Customers", connection);
using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
Console.WriteLine($"Id: {reader.GetInt32(0)}, Name: {reader.GetString(1)}");
}
Parameterized Query
using Microsoft.Data.SqlClient;
var connectionString = "Server=myserver;Database=mydb;Integrated Security=true;";
using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
using var command = new SqlCommand("SELECT * FROM Customers WHERE Id = @id", connection);
command.Parameters.AddWithValue("@id", customerId);
using var reader = await command.ExecuteReaderAsync();
// Process results...
Using Transactions
using Microsoft.Data.SqlClient;
using var connection = new SqlConnection(connectionString);
await connection.OpenAsync();
using var transaction = connection.BeginTransaction();
try
{
using var command = new SqlCommand("INSERT INTO Orders (CustomerId, Total) VALUES (@customerId, @total)", connection, transaction);
command.Parameters.AddWithValue("@customerId", customerId);
command.Parameters.AddWithValue("@total", orderTotal);
await command.ExecuteNonQueryAsync();
await transaction.CommitAsync();
}
catch
{
await transaction.RollbackAsync();
throw;
}
Key Features
| Feature | Description |
|---|---|
| Cross-Platform | Runs on Windows, Linux, and macOS |
| Azure AD Authentication | Multiple Azure Active Directory authentication modes |
| Always Encrypted | Client-side encryption for sensitive data |
| Connection Pooling | Efficient connection management |
| TLS 1.3 Support | Enhanced security with strict encryption mode |
| MARS | Multiple Active Result Sets on a single connection |
| Async Programming | Full async/await support |
| SqlBatch | Batch multiple commands for improved performance |
| JSON/Vector Support | Native support for JSON and Vector data types (SQL Server 2025+) |
Commonly Used Types
Microsoft.Data.SqlClient.SqlConnection
Microsoft.Data.SqlClient.SqlCommand
Microsoft.Data.SqlClient.SqlDataReader
Microsoft.Data.SqlClient.SqlParameter
Microsoft.Data.SqlClient.SqlTransaction
Microsoft.Data.SqlClient.SqlException
Microsoft.Data.SqlClient.SqlParameterCollection
Microsoft.Data.SqlClient.SqlClientFactory
Microsoft.Data.SqlClient.SqlBulkCopy
Microsoft.Data.SqlClient.SqlConnectionStringBuilder
Authentication Methods
| Method | Connection String |
|---|---|
| SQL Server Authentication | User ID=user;Password=pass; |
| Windows Authentication | Integrated Security=true; |
| Azure AD Password | Authentication=Active Directory Password;User ID=user;Password=pass; |
| Azure AD Integrated | Authentication=Active Directory Integrated; |
| Azure AD Interactive | Authentication=Active Directory Interactive; |
| Azure AD Managed Identity | Authentication=Active Directory Managed Identity; |
| Azure AD Service Principal | Authentication=Active Directory Service Principal;User ID=clientId;Password=clientSecret; |
| Azure AD Default | Authentication=Active Directory Default; |
Encryption Modes
| Mode | Description |
|---|---|
Encrypt=Optional |
Encryption is used if available |
Encrypt=Mandatory |
Encryption is required (default) |
Encrypt=Strict |
TDS 8.0 with TLS 1.3 support |
SNI (SQL Server Network Interface)
Two implementations are available:
- Native SNI: Windows-only, provided via Microsoft.Data.SqlClient.SNI (.NET Framework) or Microsoft.Data.SqlClient.SNI.runtime (.NET on Windows)
- Managed SNI: Cross-platform managed implementation, used by default on Unix platforms
Documentation
- Microsoft.Data.SqlClient Documentation
- Connection String Syntax
- Connection Pooling
- Always Encrypted
- Azure AD Authentication
Release Notes
Release notes are available at: https://go.microsoft.com/fwlink/?linkid=2090501
Migrating from System.Data.SqlClient
If you're migrating from System.Data.SqlClient, see the porting cheat sheet for guidance.
Key changes:
- Change namespace from
System.Data.SqlClienttoMicrosoft.Data.SqlClient - Update package reference to
Microsoft.Data.SqlClient - Review connection string defaults (e.g.,
Encrypt=Mandatoryis now the default)
License
This package is licensed under the MIT License.
Related Packages
- Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider - Azure Key Vault integration for Always Encrypted
- Microsoft.SqlServer.Server - SQL CLR UDT support
- Microsoft.Data.SqlClient.SNI - Native SNI for .NET Framework
- Microsoft.Data.SqlClient.SNI.runtime - Native SNI runtime for .NET on Windows
Showing the top 20 packages that depend on Microsoft.Data.SqlClient.
| Packages | Downloads |
|---|---|
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
24 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
21 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
20 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
19 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
18 |
|
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
|
18 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
17 |
|
Microsoft.Extensions.Caching.SqlServer
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Microsoft SQL Server.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/8486d31e24f30e3fa1809a95699a0adc16f448d7
|
17 |
|
Serilog.Sinks.MSSqlServer
A Serilog sink that writes events to Microsoft SQL Server
|
17 |
|
Microsoft.Extensions.Caching.SqlServer
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Microsoft SQL Server.
|
17 |
|
Microsoft.EntityFrameworkCore.SqlServer
Microsoft SQL Server database provider for Entity Framework Core.
|
16 |
.NET Framework 4.6.2
- Microsoft.Bcl.Cryptography (>= 8.0.0)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.Extensions.Logging (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.SNI (>= 6.0.2)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.14.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.14.0)
- System.Buffers (>= 4.6.1)
- System.Diagnostics.DiagnosticSource (>= 8.0.1)
- System.Memory (>= 4.6.3)
- System.Security.Cryptography.Pkcs (>= 8.0.1)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
- System.Threading.Channels (>= 8.0.0)
- System.ValueTuple (>= 4.6.1)
- System.Text.Json (>= 8.0.6)
.NET 9.0
- Microsoft.Data.SqlClient.Extensions.Logging (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.SNI.runtime (>= 6.0.2)
- Microsoft.Extensions.Caching.Memory (>= 9.0.9)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.14.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.14.0)
- Microsoft.SqlServer.Server (>= 1.0.0)
- System.Configuration.ConfigurationManager (>= 9.0.9)
- System.Security.Cryptography.Pkcs (>= 9.0.9)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0-preview1.26064.3)
- Microsoft.Bcl.Cryptography (>= 9.0.9)
.NET Standard 2.0
- Microsoft.Bcl.Cryptography (>= 8.0.0)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.SNI.runtime (>= 6.0.2)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.14.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.14.0)
- Microsoft.SqlServer.Server (>= 1.0.0)
- System.Configuration.ConfigurationManager (>= 8.0.1)
- System.Security.Cryptography.Pkcs (>= 8.0.1)
- System.Text.Json (>= 8.0.6)
- System.Threading.Channels (>= 8.0.0)
- Microsoft.Data.SqlClient.Extensions.Logging (>= 1.0.0-preview1.26064.3)
.NET 8.0
- System.Security.Cryptography.Pkcs (>= 8.0.1)
- Microsoft.SqlServer.Server (>= 1.0.0)
- System.Configuration.ConfigurationManager (>= 8.0.1)
- Microsoft.Bcl.Cryptography (>= 8.0.0)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.Extensions.Logging (>= 1.0.0-preview1.26064.3)
- Microsoft.Data.SqlClient.SNI.runtime (>= 6.0.2)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.14.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.14.0)
| Version | Downloads | Last updated |
|---|---|---|
| 7.0.0-preview4.26064.3 | 1 | 3/6/2026 |
| 7.0.0-preview3.25342.7 | 6 | 1/11/2026 |
| 7.0.0-preview2.25289.6 | 6 | 10/23/2025 |
| 7.0.0-preview1.25257.1 | 6 | 9/30/2025 |
| 6.1.4 | 2 | 1/20/2026 |
| 6.1.3 | 7 | 11/27/2025 |
| 6.1.2 | 11 | 10/23/2025 |
| 6.1.1 | 10 | 8/23/2025 |
| 6.1.0 | 14 | 8/10/2025 |
| 6.1.0-preview2.25178.5 | 16 | 6/28/2025 |
| 6.1.0-preview1.25120.4 | 8 | 7/1/2025 |
| 6.0.5 | 2 | 1/20/2026 |
| 6.0.4 | 11 | 11/23/2025 |
| 6.0.3 | 12 | 10/23/2025 |
| 6.0.2 | 15 | 6/29/2025 |
| 6.0.1 | 14 | 2/28/2025 |
| 6.0.0-preview3.24332.3 | 13 | 3/6/2025 |
| 6.0.0-preview2.24304.8 | 11 | 3/6/2025 |
| 6.0.0-preview1.24240.8 | 9 | 3/6/2025 |
| 5.2.3 | 14 | 6/29/2025 |
| 5.2.2 | 13 | 2/28/2025 |
| 5.2.1 | 17 | 11/20/2024 |
| 5.2.0 | 16 | 3/18/2024 |
| 5.2.0-preview5.24024.3 | 12 | 3/6/2025 |
| 5.2.0-preview4.23342.2 | 14 | 3/6/2025 |
| 5.2.0-preview3.23201.1 | 9 | 3/6/2025 |
| 5.2.0-preview2.23159.1 | 11 | 3/6/2025 |
| 5.2.0-preview1.23109.1 | 12 | 3/6/2025 |
| 5.1.9 | 2 | 1/15/2026 |
| 5.1.8 | 8 | 11/24/2025 |
| 5.1.7 | 10 | 6/29/2025 |
| 5.1.6 | 13 | 10/27/2024 |
| 5.1.5 | 15 | 3/17/2024 |
| 5.1.4 | 16 | 2/14/2024 |
| 5.1.3 | 12 | 2/28/2025 |
| 5.1.2 | 17 | 12/31/2023 |
| 5.1.1 | 16 | 9/4/2023 |
| 5.1.0 | 15 | 2/28/2025 |
| 5.1.0-preview2.22314.2 | 9 | 3/6/2025 |
| 5.1.0-preview1.22279.3 | 11 | 3/6/2025 |
| 5.0.2 | 19 | 8/22/2023 |
| 5.0.1 | 19 | 7/24/2023 |
| 5.0.0 | 14 | 2/28/2025 |
| 5.0.0-preview3.22168.1 | 11 | 3/6/2025 |
| 5.0.0-preview2.22096.2 | 13 | 3/6/2025 |
| 5.0.0-preview1.22069.1 | 9 | 3/6/2025 |
| 4.1.1 | 11 | 2/28/2025 |
| 4.1.0 | 16 | 2/28/2025 |
| 4.0.6 | 11 | 2/28/2025 |
| 4.0.5 | 18 | 2/28/2025 |
| 4.0.4 | 18 | 2/28/2025 |
| 4.0.3 | 18 | 2/28/2025 |
| 4.0.2 | 10 | 2/28/2025 |
| 4.0.1 | 12 | 1/3/2024 |
| 4.0.0 | 12 | 2/28/2025 |
| 4.0.0-preview3.21293.2 | 17 | 3/6/2025 |
| 4.0.0-preview2.21264.2 | 14 | 3/6/2025 |
| 4.0.0-preview1.21237.2 | 9 | 3/6/2025 |
| 3.1.7 | 16 | 2/28/2025 |
| 3.1.5 | 12 | 2/28/2025 |
| 3.1.4 | 12 | 2/28/2025 |
| 3.1.3 | 11 | 2/28/2025 |
| 3.1.2 | 13 | 2/28/2025 |
| 3.1.1 | 15 | 2/28/2025 |
| 3.1.0 | 14 | 2/28/2025 |
| 3.0.1 | 20 | 2/28/2025 |
| 3.0.0 | 18 | 2/28/2025 |
| 3.0.0-preview3.21140.5 | 12 | 3/6/2025 |
| 3.0.0-preview2.21106.5 | 13 | 3/6/2025 |
| 3.0.0-preview1.21075.2 | 11 | 3/6/2025 |
| 2.1.7 | 18 | 5/31/2024 |
| 2.1.6 | 9 | 2/28/2025 |
| 2.1.5 | 13 | 2/28/2025 |
| 2.1.4 | 18 | 11/21/2023 |
| 2.1.3 | 15 | 2/28/2025 |
| 2.1.2 | 12 | 2/28/2025 |
| 2.1.1 | 16 | 2/28/2025 |
| 2.1.0 | 14 | 2/28/2025 |
| 2.1.0-preview2.20297.7 | 10 | 3/6/2025 |
| 2.1.0-preview1.20235.1 | 11 | 3/6/2025 |
| 2.0.1 | 15 | 12/3/2024 |
| 2.0.0 | 15 | 2/28/2025 |
| 2.0.0-preview4.20142.4 | 17 | 3/6/2025 |
| 2.0.0-preview3.20122.2 | 12 | 3/5/2025 |
| 2.0.0-preview2.20084.1 | 11 | 3/6/2025 |
| 2.0.0-preview1.20021.1 | 12 | 3/5/2025 |
| 1.1.4 | 13 | 2/28/2025 |
| 1.1.3 | 11 | 2/28/2025 |
| 1.1.2 | 11 | 2/28/2025 |
| 1.1.1 | 15 | 2/28/2025 |
| 1.1.0 | 12 | 2/28/2025 |
| 1.1.0-preview2.19309.1 | 16 | 3/6/2025 |
| 1.1.0-preview1.19275.1 | 11 | 3/6/2025 |
| 1.0.19269.1 | 11 | 3/4/2025 |
| 1.0.19249.1 | 12 | 3/4/2025 |
| 1.0.19239.1 | 13 | 3/4/2025 |
| 1.0.19221.1-Preview | 7 | 3/5/2025 |
| 1.0.19189.1-Preview | 10 | 3/5/2025 |
| 1.0.19128.1-Preview | 12 | 3/5/2025 |
| 1.0.19123.2-Preview | 14 | 3/5/2025 |