Microsoft. Data.SqlClient는 SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Microsoft Fabric의 SQL 데이터베이스, Microsoft Fabric의 Warehouse에 지원되는 .NET 데이터 제공자입니다. 드라이버는 .NET 런타임과는 독립적으로 NuGet 패키지로 배포됩니다.
릴리스를 선택하세요
운영 애플리케이션에는 지원되는 일반 가용성(GA) 릴리스를 사용하세요. 최신 GA 릴리스는 Microsoft.Data.SqlClient 7.1.1입니다.
| 출시 라인 | 최신 버전 | 지원 수준 | 다음과 같은 경우 선택하세요 |
|---|---|---|---|
| 7.1 | 7.1.1 | 표준 기간 지원(STS) | 최신 드라이버 기능이 필요하고 정규 출시 주기에 맞게 업데이트할 수 있습니다. |
| 7.0 | 7.0.3 | 표준 기간 지원(STS) | 지원이 2026년 12월 17일에 종료되기 전에 업그레이드를 준비하는 동안 유지 관리 수정이 필요합니다. |
| 6.1 | 6.1.7 | LTS(장기 지원) | 더 긴 지원 기간을 선호하고 7.x에서 도입된 기능은 필요 없어요. |
현재 패치 버전, 지원 날짜, 대상 프레임워크 및 데이터베이스 호환성에 대해서는 SqlClient 드라이버 지원 수명주기를 참조하세요.
코어 패키지 설치
프로젝트 파일이 포함된 디렉터리에서 다음 명령을 실행하세요:
dotnet add package Microsoft.Data.SqlClient
이 명령어는 프로젝트와 호환되는 최신 안정 버전을 선택합니다. 반복 가능한 빌드를 위해 버전을 고정하려면 버전을 지정하세요:
dotnet add package Microsoft.Data.SqlClient --version <version>
이 명령어는 프로젝트 파일에 PackageReference 요소를 추가합니다. 버전 7.1.1의 경우 프로젝트 파일에는 다음과 같은 문장이 포함되어 있습니다:
<PackageReference Include="Microsoft.Data.SqlClient" Version="7.1.1" />
PackageReference도 추가하면 해당 Microsoft.Data.SqlClient.Extensions.Azure는 같은 버전을 사용합니다.
의존성 복원과 프로젝트 구축:
dotnet restore
dotnet build
복원 또는 빌드가 알려진 취약점이 있는 패키지에 대한 경고를 보고할 경우, 예: NU1902 또는 NU1903, 알려진 취약점이 있는 패키지가 보고될 때 조치의 단계를 따르세요.
드라이버 네임스페이스를 C#으로 가져오세요:
using Microsoft.Data.SqlClient;
새로운 애플리케이션의 경우, 이전 System.Data.SqlClient 패키지나 네임스페이스를 참조하지 마세요. 기존 애플리케이션을 업데이트하려면 System.Data.SqlClient에서 Microsoft로 마이그레이션을 참조하세요. Data.SqlClient.
Visual Studio를 사용하여 설치
- 솔루션 탐색기에서 프로젝트를 우클릭하고 'Manage NuGet Packages'를 선택하세요.
-
탐색 탭에서 .을 검색하세요.
Microsoft.Data.SqlClient - Microsoft가 소유한 패키지를 선택하세요.
- 지원되는 안정 버전을 선택한 후 설치를 선택하세요.
자세한 내용은 Visual Studio에서 NuGet 패키지 관리자를 사용하여 패키지 설치 및 관리를 참조하세요.
선택 패키지 추가하기
관련 기능을 사용하는 애플리케이션에서만 선택 패키지를 설치하세요.
| Package | 그것을 추가할 때 |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Microsoft.Data.SqlClient 7.0 이상에서는 Active Directory Interactive, Active Directory Default, Active Directory Managed Identity와 같은 드라이버 제공 Microsoft Entra 인증 모드를 사용합니다. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Always Encrypted는 Azure Key Vault에 열의 마스터 키를 저장합니다. |
Microsoft Entra 7.0 이후 버전에서 인증하려면 다음을 실행하세요:
dotnet add package Microsoft.Data.SqlClient.Extensions.Azure --version <same-version-as-Microsoft.Data.SqlClient>
7.0 코어 패키지는 더 이상 Azure Identity 의존성을 포함하지 않습니다. 버전 7.0.2부터는 핵심 드라이버와 동반 패키지가 정렬된 버전을 사용합니다.
Microsoft.Data.SqlClient 및 Microsoft.Data.SqlClient.Extensions.Azure의 동일한 버전을 참조하세요. 드라이버 제공 Microsoft Entra 인증을 사용하지 않는 애플리케이션은 Azure 확장 패키지가 필요하지 않습니다. 인증 설정에 대해서는 Microsoft.Data.SqlClient를 사용한 Microsoft Entra 인증을 참조하세요.
드라이버 업데이트
업데이트하기 전에 다음 항목을 확인해 주세요:
Microsoft의 새로운 소식을 읽어보세요. Data.SqlClient와 업데이트가 교차하는 각 버전의 상류 릴리스 노트를 확인하세요.
애플리케이션의 직접 및 전이 패키지 참조를 나열하세요:
dotnet list package --include-transitive애플리케이션이 직접 참조하는 모든 동반 패키지(예:
Microsoft.Data.SqlClient.Extensions.AzureMicrosoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider)를 기록하세요.
패키지 참조를 업데이트하세요.
dotnet add package Microsoft.Data.SqlClient --version <version>버전 7.0.2 이상에서는 직접 참조하는 각 동반 패키지를 동일한 버전으로 업데이트하세요.
복원, 빌드, 애플리케이션 테스트를 실행하세요.
각 지원 데이터베이스 대상에 대해 연결 설정, 인증, 인증서 검증, 연결 풀링, 데이터 타입 변환, 트랜잭션, 재시도 동작을 테스트합니다.
주요 및 패치 릴리스는 애플리케이션 변경을 요구할 수 있습니다. 예를 들어, 버전 4.0에서는 기본적으로 암호화를 사용하도록 설정했고, 버전 5.0에서는 SqlConnectionEncryptOption을(를) bool에서 SqlConnectionStringBuilder.Encrypt(으)로 변경했으며, 버전 7.0에서는 드라이버에서 제공하는 Microsoft Entra 인증을 별도의 패키지로 옮겼습니다.
버전 7.0.2부터 Microsoft.Data.SqlClient.Internal.Logging, Microsoft.Data.SqlClient.Extensions.Azure, 7.0.0.0의 어셈블리 버전이 1.0.0.0에서 Microsoft.Data.SqlClient.Extensions.Abstractions로 변경되었습니다. .NET 프레임워크 애플리케이션은 정렬된 패키지에 대해 재구성하거나 바인딩 리다이렉트를 추가해야 합니다. 현재 .NET 애플리케이션은 이 어셈블리 아이덴티티 변경에 영향을 받지 않습니다.
목표 프레임워크를 이해하기
Microsoft.Data.SqlClient 7.1은 다음 플랫폼의 애플리케이션을 지원합니다:
- .NET 8 이후 버전은 Windows, Linux, macOS 버전을 지원합니다.
- Windows에서는 .NET Framework 4.6.2 이후의 버전 사용 중입니다.
NuGet 패키지에는 라이브러리용 .NET Standard 2.0 호환 자산도 포함되어 있습니다. 실행 가능한 애플리케이션은 지원되는 .NET 또는 .NET 프레임워크 런타임을 대상으로 해야 합니다. 라이브러리의 .NET Standard 타겟이 모든 소비 런타임을 지원하게 하는 것은 아닙니다.
이 패키지는 NuGet을 통해 관리되는 의존성과 네이티브 의존성을 복원합니다. 개별 드라이버 어셈블리나 네이티브 SQL 네트워크 인터페이스(SNI) 라이브러리를 애플리케이션 간에 복사하지 마세요.
.NET 프레임워크 프로젝트
이 문서들에 있는 샘플들은 .NET을 대상으로 합니다. 새로운 개발을 위해서는 .NET Framework 대신 .NET을 사용하세요. 자세한 내용은 .NET 프레임워크 개요를 참조하세요.
.NET 프레임워크를 목표로 하는 프로젝트는 기본적으로 C# 7.3을 사용하기 때문에, .NET용으로 작성된 샘플이 변경 없이 컴파일되지 않습니다. 퀵스타트: Microsoft.Data.SqlClient를 사용하여 연결하고 쿼리에는 샘플의 C# 7.3 버전이 포함된 .NET Framework 탭이 있습니다.
배포 준비
프로덕션에서 사용하는 동일한 운영 체제와 아키텍처에 대해 게시하세요. 프레임워크 의존 배포의 경우:
dotnet publish --configuration Release런타임별 배포의 경우:
dotnet publish --configuration Release --runtime <runtime-identifier>전체 출판 출력물을 배포하세요.
Microsoft.Data.SqlClient.dll만 선택하지 마세요.자립형 애플리케이션을 공개하지 않는 한 타겟이 필요한 .NET 런타임을 갖추었는지 확인하세요.
공개된 출력물을 대상 운영체제와 아키텍처에서 테스트하세요.
프로덕션에서 사용되는 모든 인증 모드를 테스트하세요. 통합 인증, Kerberos, 인증서, 관리 신원, Azure Key Vault 접근은 배포 환경에 따라 다릅니다.
해결된 의존성 그래프에서 알려진 취약점을 찾아내고, 수정이 가능해지면 지원되는 패키지 라인을 업데이트하세요.
세계화 불변 모드는 지원되지 않습니다. 현재 플랫폼 자격 요건에 대해서는 지원되는 운영체제를 참조하세요.
오프라인 패키지 설치
NuGet.org 에서 패키지와 그 의존성을 다운로드한 후 내부 패키지 소스로 복사한 후 그 소스에서 복원하세요. 반복 가능한 오프라인 빌드를 위해 패키지 버전을 고정하고 전체 의존성 세트를 보존하세요.