네임스페이스에는 Microsoft.Data.SqlClient SQL Server 호환 데이터베이스를 위한 지원되는 .NET 데이터 제공자가 포함되어 있습니다. 이 프로그램은 System.Data.SqlClient의 포크로 시작되었으며, 익숙한 ADO.NET 프로그래밍 모델을 유지하면서도 .NET 런타임과는 별개로 새로운 SQL Server 기능을 제공합니다.
새로운 개발에 Microsoft.Data.SqlClient를 사용하십시오.
네임스페이스를 설치하고 가져오세요
NuGet 패키지 추가:
dotnet add package Microsoft.Data.SqlClient
네임스페이스를 가져오세요:
using Microsoft.Data.SqlClient;
대부분의 애플리케이션은 SqlParameter, SqlCommand, SqlDataReader, SqlTransaction, SqlConnection를 사용합니다. 전체 공개 표면은 Microsoft. Data.SqlClient API 참고 자료를 참조하세요.
ADO.NET와의 관계
Microsoft.Data.SqlClient는 DbDataReader의 공급자 독립적 형식(DbCommand, DbTransaction, DbConnection 및 System.Data.Common 포함)을 구현합니다. 또한 다음과 같은 SQL Server 전용 API도 제공합니다:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- SQL Server 전용 인증, 암호화 및 데이터 타입 지원
공급자 독립적이거나 SqlClient 전용 API 선택에 관한 지침은 Microsoft의 ADO.NET 아키텍처를 참조하세요. Data.SqlClient.
System.Data.SqlClient와의 관계
System.Data.SqlClient는 .NET Framework 및 초기 .NET 릴리스와 함께 제공되던 이전 공급자입니다.
Microsoft.Data.SqlClient 많은 타입 이름을 사용하지만, 패키지, 네임스페이스, 기본값, 기능, 지원 정책이 다릅니다.
새 신청 코드에서 두 제공자를 모두 언급하지 마세요. 두 패키지에서 같은 이름을 가진 타입은 서로 바꿔 쓸 수 없습니다. 예를 들어, System.Data.SqlClient.SqlConnection은(는) Microsoft.Data.SqlClient.SqlConnection이(가) 필요한 곳에 전달할 수 없습니다.
마이그레이션은 보통 패키지를 Microsoft.Data.SqlClient 추가하고 네임스페이스 참조를 변경하는 것으로 시작하지만, 연결 암호화, 매개변수, 구성, 전이 의존성, 런타임 동작도 검토해야 합니다. 배포하기 전에 System.Data.SqlClient에서 Microsoft.Data.SqlClient로 마이그레이션을 따르세요.
버전 호환성
드라이버 패키지 버전은 애플리케이션의 .NET 버전과 데이터베이스 엔진 버전과는 독립적입니다. 세 가지 모두 확인해 보세요:
| Component | 확인할 내용 |
|---|---|
| Microsoft.Data.SqlClient | 릴리스 라인은 지원되며, 애플리케이션이 사용하는 기능을 포함하고 있습니다. |
| .NET 또는 .NET 프레임워크 | 애플리케이션은 해당 드라이버 릴리스에서 지원하는 런타임을 목표로 합니다. |
| SQL Server 호환 데이터베이스 | 드라이버 릴리스는 데이터베이스 버전을 지원하며, 서버는 TDS 8.0과 같은 요청된 모든 프로토콜 기능을 지원합니다. |
현재 행렬에 대해서는 SqlClient 드라이버 지원 수명주기를 참조하세요.
버전별 변경 내용
드라이버 릴리스는 API를 추가하고, 선택적 의존성을 이동하며, 보안 기본값을 변경할 수 있습니다. 모든 소규모 또는 주요 업데이트 전에 변경 사항을 검토하세요.
예는 다음과 같습니다.
- 버전 4.0에서는
true의 기본값이Encrypt로 변경되었습니다. - 버전 5.0에서는 TDS 8.0용으로
SqlConnectionEncryptOption및Encrypt=Strict를 도입했습니다. - 버전 5.2에서는 지원되는 최신 .NET 대상에
SqlBatch를 도입했습니다. - 버전 7.0에서는 드라이버에서 제공하는 Microsoft Entra 인증을
Microsoft.Data.SqlClient.Extensions.Azure로 옮겼습니다.
릴리스 정보 링크와 업그레이드 요약은 Microsoft.Data.SqlClient의 새로운 기능을 참조하세요.
관련 네임스페이스 및 패키지
일부 기능은 메인 네임스페이스 외부의 타입이나 선택적 패키지를 사용합니다.
| 네임스페이스 또는 패키지 | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
SqlDataRecord 및 SqlMetaData의 SqlClient 구현. |
Microsoft.Data.SqlTypes |
sql클라이언트 전용 타입 SqlFileStream, SqlJson, , 와 SqlVector<T>같은 경우입니다. |
Microsoft.Data.SqlClient.Diagnostics |
강력하게 타입이 부여된 진단 이벤트 페이로드. |
Microsoft.Data.SqlClient.Extensions.Azure |
버전 7.0 이후 기준으로 드라이버 제공 Microsoft Entra 인증. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Always Encrypted용 Azure Key Vault 통합 |
네임스페이스만으로 패키지 요구사항을 추론하지 마세요. 사용 중인 드라이버 버전에 대한 특집 기사와 NuGet 패키지 의존성 정보를 따라가세요.