Microsoft.Data.SqlClient.Extensions.Azure
1.0.0
Prefix Reserved
dotnet add package Microsoft.Data.SqlClient.Extensions.Azure --version 1.0.0
NuGet\Install-Package Microsoft.Data.SqlClient.Extensions.Azure -Version 1.0.0
<PackageReference Include="Microsoft.Data.SqlClient.Extensions.Azure" Version="1.0.0" />
<PackageVersion Include="Microsoft.Data.SqlClient.Extensions.Azure" Version="1.0.0" />
<PackageReference Include="Microsoft.Data.SqlClient.Extensions.Azure" />
paket add Microsoft.Data.SqlClient.Extensions.Azure --version 1.0.0
#r "nuget: Microsoft.Data.SqlClient.Extensions.Azure, 1.0.0"
#:package Microsoft.Data.SqlClient.Extensions.Azure@1.0.0
#addin nuget:?package=Microsoft.Data.SqlClient.Extensions.Azure&version=1.0.0
#tool nuget:?package=Microsoft.Data.SqlClient.Extensions.Azure&version=1.0.0
Microsoft.Data.SqlClient.Extensions.Azure
Description
This package provides Azure integration extensions for Microsoft.Data.SqlClient. It enables seamless authentication and connectivity with Azure SQL Database using Azure Identity and other Azure services.
Key Features
- Entra ID Authentication: Simplified Entra ID token-based authentication
- Managed Identity Support: Connect to Azure SQL using Azure Managed Identities
- Token Caching: Automatic caching of authentication tokens for improved performance
- Azure.Identity Integration: Leverage the full power of Azure.Identity credential providers
Supportability
This package supports:
- .NET Standard 2.0 (compatible with .NET Framework 4.6.1+, .NET Core 2.0+, and .NET 5+)
Installation
Install the package via NuGet:
dotnet add package Microsoft.Data.SqlClient.Extensions.Azure
Or via the Package Manager Console:
Install-Package Microsoft.Data.SqlClient.Extensions.Azure
Getting Started
Connect Using Default Azure Credential
using Microsoft.Data.SqlClient;
using Azure.Identity;
// Use DefaultAzureCredential for automatic authentication
// Works with Managed Identity, Azure CLI, Visual Studio, and more
var credential = new DefaultAzureCredential();
var connectionString = "Server=myserver.database.windows.net;Database=mydb;";
using var connection = new SqlConnection(connectionString);
connection.AccessTokenCallback = async (ctx, cancellationToken) =>
{
var token = await credential.GetTokenAsync(
new Azure.Core.TokenRequestContext(new[] { "https://database.windows.net/.default" }),
cancellationToken);
return new SqlAuthenticationToken(token.Token, token.ExpiresOn);
};
await connection.OpenAsync();
Connect Using Managed Identity
For applications running in Azure (App Service, Functions, VMs, AKS, etc.):
using Microsoft.Data.SqlClient;
using Azure.Identity;
// Use system-assigned managed identity
var credential = new ManagedIdentityCredential();
// Or use user-assigned managed identity
// var credential = new ManagedIdentityCredential("client-id-of-user-assigned-identity");
var connectionString = "Server=myserver.database.windows.net;Database=mydb;";
using var connection = new SqlConnection(connectionString);
connection.AccessTokenCallback = async (ctx, cancellationToken) =>
{
var token = await credential.GetTokenAsync(
new Azure.Core.TokenRequestContext(new[] { "https://database.windows.net/.default" }),
cancellationToken);
return new SqlAuthenticationToken(token.Token, token.ExpiresOn);
};
await connection.OpenAsync();
Connect Using Service Principal
For service-to-service authentication:
using Microsoft.Data.SqlClient;
using Azure.Identity;
var credential = new ClientSecretCredential(
tenantId: "your-tenant-id",
clientId: "your-client-id",
clientSecret: "your-client-secret");
var connectionString = "Server=myserver.database.windows.net;Database=mydb;";
using var connection = new SqlConnection(connectionString);
connection.AccessTokenCallback = async (ctx, cancellationToken) =>
{
var token = await credential.GetTokenAsync(
new Azure.Core.TokenRequestContext(new[] { "https://database.windows.net/.default" }),
cancellationToken);
return new SqlAuthenticationToken(token.Token, token.ExpiresOn);
};
await connection.OpenAsync();
Authentication Methods
| Authentication Type | Credential Class | Use Case |
|---|---|---|
| Default | DefaultAzureCredential |
Development and production with automatic credential chain |
| Managed Identity | ManagedIdentityCredential |
Azure-hosted applications |
| Service Principal | ClientSecretCredential |
Service-to-service authentication |
| Certificate | ClientCertificateCredential |
Certificate-based service auth |
| Interactive | InteractiveBrowserCredential |
Interactive user authentication |
| Azure CLI | AzureCliCredential |
Local development |
| Visual Studio | VisualStudioCredential |
Development in Visual Studio |
Documentation
- Entra ID Authentication
- Azure.Identity Documentation
- Microsoft.Data.SqlClient Documentation
- Managed Identities Overview
License
This package is licensed under the MIT License.
Related Packages
- Microsoft.Data.SqlClient - The main SqlClient driver
- Microsoft.Data.SqlClient.Extensions.Abstractions - Core abstractions
- Microsoft.Data.SqlClient.Internal.Logging - Logging internals
- Azure.Identity - Entra ID authentication library
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Azure.Core (>= 1.51.1)
- Azure.Identity (>= 1.18.0)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0)
- Microsoft.Data.SqlClient.Internal.Logging (>= 1.0.0)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Identity.Client (>= 4.83.0)
-
.NETStandard 2.0
- Azure.Core (>= 1.51.1)
- Azure.Identity (>= 1.18.0)
- Microsoft.Data.SqlClient.Extensions.Abstractions (>= 1.0.0)
- Microsoft.Data.SqlClient.Internal.Logging (>= 1.0.0)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Identity.Client (>= 4.83.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Microsoft.Data.SqlClient.Extensions.Azure:
| Package | Downloads |
|---|---|
|
TresTechnologies.App.Shared
Shared components for use with applications build for the Tres API, |
|
|
ES.FX.Ignite.Microsoft.EntityFrameworkCore.SqlServer
Package Description |
|
|
ES.FX.Ignite.Microsoft.Data.SqlClient
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 69,217 | 3/17/2026 |
| 1.0.0-preview1.26064.3 | 71 | 3/5/2026 |