Microsoft의 새로운 소식. Data.SqlClient

Microsoft. Data.SqlClient는 .NET와 독립적으로 배포됩니다. 이 글은 각 릴리스 라인의 주요 기능, 동작 변경 사항 및 호환성 변경 사항을 요약합니다. 릴리스 테이블에는 각 핫픽스와 목록에 없는 패키지를 포함한 모든 안정적인 패키지 게시가 포함됩니다. 모든 수정 및 의존성 업데이트에 대해서는 SqlClient 저장소의 전체 릴리스 노트를 참조하세요.

현재 릴리스

출시 라인 최신 버전 릴리스 날짜 Support
7.0 7.0.3 2026년 9월 표준 기간 지원(STS)
6.1 6.1.7 2026년 9월 LTS(장기 지원)
7.1 미리보기 7.1.0-preview3.26238.4 2026년 8월 Preview

프로덕션 환경에서 프리뷰 릴리스를 사용하지 마세요. 미리보기 API와 동작은 일반 가용성(GA) 이전에 변경될 수 있습니다.

릴리스 테이블과 일반 가용성 요약은 NuGet 출판 월을 사용합니다. 라이프사이클 문서에는 공식 출시일이 명시되어 있으며, 이는 다를 수 있습니다. 지원 윈도우에 대해서는 SqlClient 드라이버 지원 수명주기를 참조하세요.

7.1 미리보기

7.1 프리뷰 라인은 배치, 스키마 탐색, 연결 풀링, 그리고 항상 암호화된 API를 확장합니다. 7.1.0-preview3 이전의 변경 사항은 다음과 같습니다:

  • SqlBatch.NET 프레임워크 지원.
  • 비동기 SqlConnection.GetSchemaAsync 과부하.
  • 연결 문자열 별칭ColumnEncryption은 , PacketSizeConnectTimeoutFailoverPartnerWorkstationId와 같다.
  • $edge_id$node_id, SqlBulkCopy, $to_id, $from_id에 대한 SQL 그래프 의사 열 매핑.
  • 선택적 연결 유휴 시간 초과 적용.
  • 풀링 연결을 기다리는 시간을 포함하는 옵트인 연결 타임아웃 모드입니다.
  • 실험적 채널 기반 연결 풀의 추가 개발.
  • 항상 암호화된 키 저장소 제공자에서의 비동기 메서드. 드라이버는 아직 명령 실행 중에 이 메서드들을 호출하지 않기 때문에, 기존의 항상 암호화된 작업을 비동기로 만들지는 않습니다.

SqlBatchCommand.CommandBehavior은 이 줄부터 표시됩니다. 초기 버전에서는 이 특성을 무시했습니다. 사용되지 않는 Type System Version=SQL Server 2000 연결 옵션은 이제 ArgumentException 예외를 발생시킵니다.

Preview3는 인증서와 엔클레이브 검증도 변경합니다. ServerCertificate 항상 설정된 인증서 파일과 서버가 제시한 인증서를 비교합니다. 이제 유효하지 않거나 읽을 수 없는 파일이 있으면 호스트 이름 검증으로 대체되지 않고 연결이 실패합니다. 가상 보안 모드(VSM)와 호스트 가디언 서비스(HGS) 엔클레이브 인증은 이제 엔클레이브 공개 키가 서명된 인증자 보고서에 묶여 있음을 검증합니다. 이전 미리보기에서 이동할 때 이 경로들을 다시 테스트하세요.

이 라인을 테스트하기 전에 preview1, preview2, preview3 의 출시 노트를 읽어보세요.

7.0 STS

버전 7.0은 2026년 3월에 일반 출시되었습니다. 현재 STS 라인입니다.

특징과 변경 사항

  • 드라이버에서 제공하는 Microsoft Entra 인증이 코어 패키지에서 Microsoft.Data.SqlClient.Extensions.Azure로 이동했습니다. Active Directory 인증 모드를 사용하는 경우 확장 패키지를 추가하세요.
  • 핵심 패키지는 더 이상 , , Azure.Identity또는 Microsoft 인증 라이브러리(MSAL)에 Azure.Core의존하지 않습니다.
  • SqlConnection.SspiContextProvider 맞춤형 Kerberos 및 NTLM 토큰 협상을 지원합니다. 제공자 신원은 연결 풀 키의 일부입니다.
  • Azure SQL 하이퍼스케일 및 명명된 읽기 복제본에 대한 향상된 라우팅은 자동으로 조정됩니다.
  • 강력한 형식의 명령, 연결 및 트랜잭션에 대한 진단 이벤트는 .NET Framework 및 현재 .NET에서 제공됩니다.
  • SqlConfigurableRetryFactory.BaselineTransientErrors 운전자의 기본 과도 오류 목록을 노출합니다.
  • Active Directory Password 인증은 구식입니다. 사용자 애플리케이션에는 인터랙티브 인증을, 서비스에는 서비스 주체 인증을, Azure 호스팅 워크로드에는 관리 신원을 사용하세요.
  • 타겟 지원은 .NET Framework 4.6.2와 .NET 8부터 시작됩니다. 이 드라이버는 .NET 10에서 빌드 및 실행도 지원합니다.

비동기 읽기를 위한 패킷 다중화는 미리보기 기능으로 남아 있으며 7.0에서는 선택 가능합니다. 호환성 전환 기능을 프로덕션 워크로드로 테스트하고 롤백 경로를 확보합니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
7.0.0 2026년 3월 일반 출시.
7.0.1 2026년 4월 SQL Server 2016과 Azure Synapse Analytics 전용 SQL 풀에 대한 고정 SqlBulkCopy 메타데이터 쿼리, 벡터 필드 메타데이터 수정, 누락된 .NET Framework System.Data.Common 의존성 추가, 인증 추상화를 위한 타입 전달 추가.
7.0.2 2026년 6월 핵심 드라이버와 관련 패키지를 일치시키고, TDS 토큰 파싱을 강화했으며, Always Encrypted 서명 확인 캐시 처리를 수정하고, 취소 및 null-buffer GetBytesGetChars 호출에서 발생하던 오류를 수정했습니다.
7.0.3 2026년 9월 SNI를 6.0.3으로 업데이트했습니다. sys.all_columns회귀를 수정했습니다. 대상은 ServerCertificate을 읽을 수 없는 로그인, 추적이 비활성화되었을 때의 메모리 할당 회귀, 관리되는 SNI의 SqlBulkCopy 유효성 검사, Always Encrypted 엔클레이브 증명 키 확인, 그리고 프로세스 전체 어셈블리 확인 처리기 등록 시 구성 가능한 재시도입니다.

Important

7.0.2부터 Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider에 대한 직접 참조를 정렬하세요. 를 추이적으로 해소하자 Microsoft.Data.SqlClient.Internal.Logging . .NET Framework에서는 Internal.Logging, Extensions.Azure, 7.0.0.0의 어셈블리 버전이 1.0.0.0에서 Extensions.Abstractions로 변경되었습니다. 패키지를 업데이트할 때 애플리케이션을 다시 빌드하거나 바인딩 리디렉트를 추가하세요.

6.1 LTS

버전 6.1.0은 2025년 7월에 배포되었지만, 심각한 회귀 문제로 인해 나중에 목록에서 제외되었습니다. 2025년 8월에 출시된 버전 6.1.1은 지원되는 6.1 LTS 라인을 확립했습니다.

특징과 변경 사항

  • SqlVector<T>를 통한 SQL Server 2025의 네이티브 벡터 전송으로, 초기에는 단정밀도 부동소수점 벡터를 대상으로 합니다.
  • 라이브러리 호환성을 위한 .NET 표준 2.0 참조 자산입니다. 이 자산은 런타임 구현이 아닙니다. 실행 파일은 지원되는 .NET 또는 .NET 프레임워크 런타임 자산을 사용해야 합니다.
  • Microsoft Fabric의 SQL 데이터베이스에서 대규모 비동기 읽기 및 엔드포인트 처리를 위한 선택적 패킷 다중화 작업.
  • 향상된 네이티브 AOT(Ahead-of-Time) 컴파일 지원.
  • 연결 및 TDS 처리 경로 할당 감소.
  • 7.0에서 추가된 공공 보안 지원 제공자 인터페이스(SSPI) 확장성을 위한 내부 기반.

버전 6.1.0을 배포하지 마세요. 버전 6.1.1은 영향을 받은 패킷 감지 및 재생 변경 사항을 되돌렸습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
6.1.0 2025년 7월 일반 출시. 이 패키지는 중요한 회귀 현상으로 인해 비공개 상태였습니다. 사용하지 마세요.
6.1.1 2025년 8월 6.1.0의 부분 패킷 감지, 수정 및 재생 변경 사항을 되돌렸습니다. 수정된 벡터 참조 어셈블리 및 SqlVector<T>.Null.
6.1.2 2025년 10월 성능 카운터의 조기 초기화, 사용자 지정 인증 공급자 교체, 그리고 구성된 최대 풀 크기를 사용할 수 없게 하던 풀 동시성 문제를 수정했습니다.
6.1.3 2025년 11월 기본 가용성 그룹과 커스텀 포트를 위해 추가 IgnoreServerProvidedFailoverPartner 되었습니다. 초기 EventSource 메트릭 초기화 수정.
6.1.4 2026년 1월 EnableMultiSubnetFailoverByDefault을(를) 추가했습니다. 풀 메트릭에서 발생하던 SqlDataAdapter 일괄 처리 실패와 활성 연결 수가 음수로 표시되는 문제를 수정했습니다.
6.1.5 2026년 4월 비통합 인증에 불필요한 서비스 주체 이름(SPN) 및 도메인 이름 시스템(DNS) 작업을 제거하고, 데이터 이후 반환되는 서버 오류가 ExecuteScalar 통해 전파되도록 했으며, 벡터 메타데이터 유형을 수정했습니다.
6.1.6 2026년 6월 선택적 Windows 웹 계정 관리자(WAM) 브로커 지원을 추가하고, TDS 토큰 파싱을 강화했으며, 캐시된 열 마스터 키 서명 실패 문제를 수정하고, GetChars 인수 유효성 검사를 수정했습니다.
6.1.7 2026년 9월 SNI를 6.0.3으로 업데이트했습니다. 관리되는 SNI에 대한 고정 ServerCertificate 검증, 항상 암호화된 엔클레이브 증명 키 검증, AccessTokenCallback 연결 재시도 동작, 그리고 프로세스 전체 어셈블리 해석 핸들러를 등록하는 설정 가능한 재시도.

이전 출시 라인

다음 릴리스 라인은 더 이상 지원되지 않습니다. 여러 드라이버 버전을 업그레이드할 계획이라면 그들의 요약을 참고하세요.

6.0

버전 6.0은 2025년 1월에 일반 출시되었습니다. 최종 패치는 2026년 1월에 출시된 6.0.5였습니다.

  • 읽기, 쓰기, 스트리밍, 대량 복사 경로를 포함한 SQL Server 기본 JSON 지원Microsoft.Data.SqlTypes.SqlJson이 추가되었습니다.
  • 명령, 연결 및 트랜잭션 이벤트에 대한 공개 강력한 형식의 진단 페이로드가 추가되었습니다.
  • 추가됨 OpenAsync(SqlConnectionOverrides, CancellationToken), OpenWithoutRetry 포함.
  • TimeOnlySqlDataRecord 구조화된 매개변수에 DateOnlyDataTable 지원이 추가되었습니다.
  • .NET 9 지원이 추가되었습니다.
  • .NET Standard와 .NET 6 런타임 자산을 포기했습니다. 지원되는 대상은 .NET Framework 4.6.2 이후 버전과 .NET 8 이후 버전이 되었습니다.
  • 텍스트 명령어로 제한됩니다 EnableOptimizedParameterBinding .

릴리스

버전 릴리스됨 고객 관련 변경 사항
6.0.0 2025년 1월 일반 출시. 이 패키지는 NuGet에 비공개 상태이며, 상류 노트에도 이유가 명시되어 있지 않습니다.
6.0.1 2025년 1월 SqlClientDiagnostic 참조 API, 하위 버전 TLS 경고 및 종속성을 수정했습니다.
6.0.2 2025년 4월 소켓-수신 null 실패 가능성, SqlJson 참조 API, JSON 출력 매개변수, 의존성 등을 수정했습니다.
6.0.3 2025년 10월 맞춤 인증 공급자의 교체를 방지하고 Max Pool Size를 충분히 활용하지 못하던 풀 동시성을 수정했습니다.
6.0.4 2025년 11월 사용자 지정 TCP 포트를 사용하는 기본 가용성 그룹에 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner이 추가되었습니다.
6.0.5 2026년 1월 SqlDataAdapter 배치 RPC null 처리를 수정하고, Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault을 추가하고, 의존성을 업데이트했습니다.

5.2

버전 5.2는 2024년 2월에 일반 출시되었습니다. 최종 패치는 2025년 4월에 출시된 5.2.3이었습니다.

  • 비동기식의 풀과 호환되는 토큰 획득을 위해 SqlConnection.AccessTokenCallback이 추가되었습니다.
  • .NET 6 및 이후 버전에서 SqlBatchSqlBatchCommand이(가) 추가되었습니다.
  • .NET 표준에 대한 지원이 추가 SqlDiagnosticListener 되었습니다.
  • 64비트 SqlBulkCopy.RowsCopied64추가. 이전 RowsCopied 속성은 32비트 정수로 남아 있습니다.
  • 추가 인증.Active Directory Workload Identity
  • .NET 8과 빅 엔디언 플랫폼 지원이 추가되었습니다.
  • true이(가) 기본값으로 UseOneSecFloorInTimeoutCalculationDuringLogin로 변경되었습니다.
  • .NET 7 및 이후 버전에서 관리형 SSPI에 사용 NegotiateAuthentication 됨.

릴리스

버전 릴리스됨 고객 관련 변경 사항
5.2.0 2024년 2월 일반 출시.
5.2.1 2024년 5월 포트가 있는 Linux 명명된 인스턴스 연결, FireInfoMessageEventOnUserErrorsdatetimeoffset(n) 테이블 값 매개변수, 지연된 OpenAsync, 및 SqlConnection.Clone()에 의한 AccessTokenCallback 보존을 수정했습니다.
5.2.2 2024년 8월 고정 토큰 타임아웃, 관리되는 SNI 소켓 연결, 어셈블리 타겟팅, SSPI 재시도, 사용자 정의 타입 읽기, 암호화된 리더 데이터. CVE-2024-35255용 신원 패키지 업데이트.
5.2.3 2025년 4월 소켓 수신 중 발생할 수 있는 null 관련 실패와 참조 어셈블리 불일치를 수정하고, 음수 과도 오류 번호를 허용하도록 했으며, 종속성을 업데이트했습니다.

5.1

버전 5.1은 2023년 1월에 일반 출시되었습니다. 최종 패치는 2026년 1월에 출시된 5.1.9 버전이었습니다.

  • .NET 6 지원을 추가하고 .NET Core 3.1은 제외했습니다.
  • 매개변수 값 및 TimeOnly에 대해 GetFieldValueDateOnly 지원이 추가되었습니다.
  • .NET 및 네이티브 SQL Server 네트워크 인터페이스(SNI) 경로에 TLS 1.3이 추가되었습니다.
  • Encrypt=Mandatory Encrypt=StrictServerCertificate와의 정확한 인증서 매칭을 위해 추가되었습니다.
  • .NET 프레임워크에 대한 Windows ARM64 지원이 추가되었습니다.
  • 문자열 파서를 공개했습니다 SqlConnectionEncryptOption .
  • 버전 5.1.3은 CVE-2024-0056 암호화 다운그레이드 경로와 인증서 체인 검증을 수정했습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
5.1.0 2023년 1월 일반 출시.
5.1.1 2023년 3월 Always Encrypted 오류 보고, 리디렉션 모드 트랜잭션, 토큰 스로틀링, 대규모 쿼리에서의 TDS RPC 실패, 그리고 GetBytesAsync null 처리 문제를 수정했습니다.
5.1.2 2023년 10월 SQL Express 사용자 인스턴스, 엔클레이브 재시도, LocalDB, 연결 문자열 빌더 값, SqlConnectionEncryptOption 구성 변환 및 OpenAsync 일시적 오류의 문제를 수정했습니다.
5.1.3 2024년 1월 CVE-2024-0056 및 인증서 체인 검증을 수정했습니다.
5.1.4 2024년 1월 .NET 분산 트랜잭션 교착 상태를 수정하고 CVE-2023-36414로 업그레이드했습니다Azure.Identity.
5.1.5 2024년 1월 풀링 전에 발생하는 트랜잭션 정리 문제와 Always Encrypted 날짜 및 시간 변환 실패 문제를 수정했습니다. CVE-2024-21319의 IdentityModel 의존성을 업데이트했습니다.
5.1.6 2024년 8월 OpenAsync 인증 시간 초과와 암호화된 리더의 보류 중인 데이터 실패를 수정했습니다. CVE-2024-35255 및 캐시 TokenCredential 인스턴스에 대한 신원 의존성 업데이트.
5.1.7 2025년 4월 소켓-수신 null 실패 가능성을 수정하고, 소스 및 참조 어셈블리를 정렬했으며, 의존성을 업데이트했습니다.
5.1.8 2025년 11월 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner 추가, 대량 복사 시 UTF-8 바이트 순서 표시(BOM) 처리 수정, MSAL 생성 방식 현대화, 의존성 업데이트.
5.1.9 2026년 1월 Environment.TickCount 타이밍을 SqlStatistics로 옮기고 프레임워크별 의존성을 업데이트했습니다.

5.0

버전 5.0은 2022년 8월에 일반 출시되었습니다. 최종 패치는 2023년 3월에 출시된 5.0.2였습니다.

  • TDS 8.0이 Encrypt=Strict를 통해 추가되었습니다. 엄격한 모드는 TDS 로그인 교환 전에 TLS를 시작하며 항상 서버 인증서를 검증합니다.
  • bool이(가) SqlConnectionEncryptOption에서 SqlConnectionStringBuilder.Encrypt(으)로 변경되었습니다.
  • SQL Server 공통 언어 런타임(CLR) 타입을 별도의 버전 기반 Microsoft.SqlServer.Server 패키지로 옮겼습니다.
  • 추가 Server SPNFailover Server SPN 연결 옵션.
  • 현재 .NET에서 Windows SQL Server 별칭 지원을 추가했습니다.
  • SqlDataSourceEnumerator Windows에 추가되었습니다.
  • .NET 프레임워크 4.6.1을 중단했습니다.

Important

SqlConnectionStringBuilder.Encrypt 형식 변경은 바이너리 호환성을 깨뜨리는 변경입니다. Microsoft.Data.SqlClient.Server에서 제거된 타입은 Microsoft.SqlServer.Server을 사용하려면 소스 코드 변경도 필요합니다. 애플리케이션과 라이브러리를 재컴파일하고, 네임스페이스를 업데이트하며, 참조가 남아 있을 때 System.Data.SqlClient 네임스페이스 충돌을 점검합니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
5.0.0 2022년 8월 일반 출시.
5.0.1 2022년 10월 .NET Framework에서 HostNameInCertificate을 복원하고 Attention 관련 교착 상태, SqlConnectionStringBuilder.Encrypt, 취소 등록, 관리형 SNI 중단 문제, UTF-8 데이터 정렬 및 SNI 애플리케이션 도메인 충돌 문제를 해결했습니다.
5.0.2 2023년 3월 비동기 읽기 중 발생하는 메모리 누수, 리디렉션 모드 TransactionScope, Always Encrypted 오류, 대규모 쿼리에서의 TDS RPC 실패, 그리고 분산 트랜잭션에서 발생하는 교착 상태를 수정했습니다.

4.1

버전 4.1은 2022년 1월에 일반 출시되었습니다. 최종 패치는 2022년 9월에 출시된 4.1.1이었습니다.

  • 가상화 기반 보안(VBS) 엔클레이브용 Attestation Protocol=None이 추가되었습니다.
  • Linux와 macOS에서 활성화된 MultiSubnetFailover 시에는 병렬화된 SQL Server 해석 프로토콜 요청이 가능합니다.
  • 인증 시 인증서 취소 목록 확인을 고정했습니다.
  • Microsoft Entra 인증, null SqlBinaryrowversion 값, UTF-8 콜레이션 동작을 수정했습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
4.1.0 2022년 1월 일반 출시.
4.1.1 2022년 9월 인증서 취소 목록 실패를 수정하고, SQL Server Resolution Protocol 요청을 MultiSubnetFailover병렬화했으며, Microsoft Entra 인증, rowversion, UTF-8, SNI 애플리케이션 도메인 실패를 수정했습니다.

4.0

버전 4.0은 2021년 11월에 일반 출시되었습니다. 최종 패치는 2024년 8월에 출시된 4.0.6이었습니다.

  • 기본값을 Encrypt 에서 로 falsetrue변경했습니다.
  • 매개변수가 많은 명령어를 위해 추가되었습니다 SqlCommand.EnableOptimizedParameterBinding .
  • .NET 표준 구현을 통해 Windows용으로 추가 SqlFileStream 되었습니다.
  • 관리형 SNI에 공유 LocalDB 인스턴스 지원을 추가했습니다.
  • TextReader, StreamXmlReader에 대해 GetFieldValue<T>GetFieldValueAsync<T>가 추가되었습니다.
  • 설정 가능한 재시도 논리에서 안전 스위치를 제거했습니다. 재시도는 애플리케이션이 공급자를 설정할 때까지 비활성화된 상태로 유지되었습니다.
  • Microsoft Entra 인증 실패 시 SqlException 대신 AggregateException을 발생시키도록 변경했습니다.
  • .NET Core 2.1을 포기했습니다.
  • 버전 4.0.5는 CVE-2024-0056 암호화 하향 경로와 인증서 체인 검증을 수정했습니다.

Important

4.0 이후 버전에서는 암호화가 기본값이 되기 true 때문에, 업그레이드 시 인증서 신뢰도나 서버 이름 불일치가 노출될 수 있습니다. 이런 오류를 우회하기 위해 암호화를 비활성화하지 마세요. 배포를 위해 신뢰할 수 있는 서버 인증서를 설치하거나 인증서 검증을 설정하세요.

릴리스

버전 릴리스됨 고객 관련 변경 사항
4.0.0 2021년 11월 일반 출시.
4.0.1 2022년 1월 SuppressInsecureTLSWarning를 추가하고 .NET 6 Kerberos, LocalDB 파이프 이름 및 동시 엔클레이브 쿼리 관련 문제를 수정했습니다.
4.0.2 2022년 9월 인증서 취소 목록 실패를 수정하고, SQL Server Resolution Protocol 요청을 MultiSubnetFailover병렬화했으며, Microsoft Entra 인증, rowversion, UTF-8, SNI 애플리케이션 도메인 실패를 수정했습니다.
4.0.3 2023년 4월 캐시된 계정 토큰의 스로틀링을 줄이고, 대규모 쿼리에서 발생하던 TDS RPC 실패를 수정했습니다.
4.0.4 2023년 10월 비동기 엔클레이브 재전송, LocalDB 및 관리형 SNI 폴백, 파일 버전, 연결 활동 상관관계 등을 고정했습니다.
4.0.5 2024년 1월 CVE-2024-0056 및 인증서 체인 검증을 수정했습니다.
4.0.6 2024년 8월 풀링 전 트랜잭션 이벤트 정리와 ActiveDirectoryAuthenticationProvider.AcquireTokenAsync 타임아웃 처리를 수정했습니다.

3.1

버전 3.1은 2022년 3월에 일반 출시되었습니다. 최종 패치는 2024년 8월에 출시된 3.1.7이었습니다.

  • VBS 엔클레이브에 Attestation Protocol=None를 추가했습니다.
  • 기본 일시적 오류 목록에 SQL 오류 42108과 42109를 추가했습니다.
  • 3.1.2에서 Windows ARM64 .NET 프레임워크 지원을 추가했습니다.
  • 3.1.3에서 무음 토큰 획득을 통해 반복되는 Microsoft Entra 토큰 요청을 줄였습니다.
  • 3.1.5에서 CVE-2024-0056 암호화 다운그레이드 경로를 수정했습니다.
  • 3.1.7에서 풀링 전 거래 정리와 Microsoft Entra 토큰 타임아웃 처리가 수정되었습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
3.1.0 2022년 3월 일반 출시.
3.1.1 2022년 8월 null SqlBinaryrowversion 값, .NET 6 Kerberos 실패 및 Microsoft Entra 인증에서 발생한 null 참조 오류를 수정했습니다.
3.1.2 2023년 2월 .NET Framework Windows ARM64 지원을 추가하고, 재시도 리스트 스레드 안전성, 분산 트랜잭션 교착 상태, UTF-8 콜레이션, 저장 프로시저 검증 기능을 수정했습니다.
3.1.3 2023년 3월 AcquireTokenSilent를 사용해 Microsoft Entra 토큰 스로틀링을 줄이고, 대규모 쿼리에서 발생하던 TDS RPC 실패를 수정했습니다.
3.1.4 2023년 10월 비동기 엔클레이브 재시도, LocalDB 및 관리형 SNI 대체 동작, 파일 버전, 연결 활동 상관 관계 및 EventSource 서식 문제가 수정되었습니다.
3.1.5 2024년 1월 CVE-2024-0056 및 인증서 체인 검증을 수정했습니다.
3.1.6 2024년 8월 이 소포는 제대로 서명되지 않았고 비등록 상태였습니다. 상류 릴리스 노트 파일은 존재하지 않습니다. 대신 3.1.7을 사용하세요.
3.1.7 2024년 8월 풀링 전 트랜잭션 이벤트 정리, 인증 시간 초과, 어셈블리 서명 및 SNI 애플리케이션 도메인 충돌 문제를 수정했습니다.

3.0

버전 3.0은 2021년 6월에 일반 출시되었습니다. 최종 패치는 2021년 9월에 출시된 3.0.1이었습니다.

  • 연결 및 명령 작업을 위한 설정 가능한 재시도 로직을 추가했습니다. 3.0에서는 Switch.Microsoft.Data.SqlClient.EnableRetryLogic 뒤에 있는 옵트인 상태로 유지되었습니다.
  • 연결 및 풀 활동을 위한 이벤트 카운터를 추가했습니다.
  • Azure.Identity Active Directory Default을 통한 인증을 추가했습니다.
  • 연결 범위와 명령 범위의 Always Encrypted 키 저장소 공급자 등록이 추가되었습니다.
  • TCP IP 주소 선호도가 추가되었습니다.
  • 사용자 지정 관리 신원 인증을 객체 ID User Id대신 클라이언트 ID로 변경했습니다.
  • SQL rowversion null 값을 빈 바이트 배열 대신 반환 DBNull 으로 변경했습니다. AppContext 스위치가 이전 동작을 유지했습니다.
  • 최소 .NET 프레임워크 목표를 4.6에서 4.6.1로 상향 조정했습니다.

시스템 키 저장소 공급자는 3.0부터 연결 또는 명령에 등록된 공급자보다 우선 적용됩니다. 내장 공급자와 이름이 충돌하면 사용자 지정 공급자를 변경하세요.

릴리스

버전 릴리스됨 고객 관련 변경 사항
3.0.0 2021년 6월 일반 출시.
3.0.1 2021년 9월 Microsoft Entra 연결 열기를 차단하던 문제, 트랜잭션 프로모션 상태 문제, 필수 암호화 문제, 재시도 중 재귀 호출 및 교착 상태 문제, 그리고 사용할 수 없는 연결 문제를 수정했습니다.

2.1

버전 2.1은 2020년 11월에 일반 출시되었습니다. 최종 패치는 2024년 1월에 출시된 2.1.7이었습니다.

  • Always Encrypted를 지원되는 .NET Standard 2.0 플랫폼으로 확장했습니다.
  • .NET 코어 및 .NET 표준 2.1 플랫폼 전반에 걸쳐 유닉스에서 보안 엔클레이브 지원을 추가했습니다.
  • Active Directory Device Code Flow 및 관리 ID 인증이 추가되었습니다.
  • 인터랙티브 및 디바이스 코드 인증을 위한 커스터마이징 훅이 추가되었습니다.
  • 민감도, 분류, 순위 메타데이터 추가.
  • SqlConnection.ServerProcessId을(를) 추가했습니다.
  • 연결로 생성된 명령어의 기본 설정으로 연결 옵션을 추가했습니다 Command Timeout .
  • 버전 2.1.7은 CVE-2024-0056 암호화 하향 경로를 수정했습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
2.1.0 2020년 11월 일반 출시.
2.1.1 2020년 12월 Azure Functions, Unix Kerberos 및 TCP keep-alive의 시스템 할당 관리 ID 문제를 수정했습니다.
2.1.2 2021년 3월 유닉스 이름 인스턴스 수정, 타임아웃 오류, 위험한 DTD 처리, Kerberos SPN, 캐싱 의존성 누락, 추적, MARS 헤더 삭제.
2.1.3 2021년 5월 열린 결과 집합으로 인한 트랜잭션 데이터 손상을 방지하고 SinglePhaseCommitTransactionEnded 간 경합 상태를 수정했습니다.
2.1.4 2021년 9월 암호화가 필요할 때 보장된 연결이 실패하고, 고정된 연결이 사용 불가능한 상태로 변합니다.
2.1.5 2022년 8월 저장 프로시저 CommandText 길이 검증을 추가하고 .NET 6 Kerberos 인증 및 SqlTypeWorkarounds 문제를 수정했습니다.
2.1.6 2023년 4월 SqlCommand.ExecuteReaderAsync의 대용량 쿼리 TDS RPC 실패, 기본 UTF-8 콜레이션 충돌 및 attention 전송 교착 상태 문제를 수정했습니다.
2.1.7 2024년 1월 CVE-2024-0056 및 인증서 체인 검증을 수정했습니다.

2.0

버전 2.0은 2020년 6월에 일반 출시되었습니다. 최종 패치는 2020년 8월에 출시된 2.0.1이었습니다.

  • .NET Core 및 .NET Standard에 Active Directory IntegratedActive Directory Interactive 인증이 추가되었습니다.
  • 추가 인증.Active Directory Service Principal
  • 추가 추적.Microsoft.Data.SqlClient.EventSource
  • 테스트 및 디버깅을 위한 크로스 플랫폼 TCP Keep-alive와 Windows에서 옵트인 관리 네트워킹 구현을 추가했습니다. 관리 경로는 비도메인 Windows 인증을 지원하지 않았습니다.
  • SqlBulkCopy.RowsCopied을 추가하고 일괄 복사 힌트를 정렬했습니다.
  • SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry)을(를) 추가했습니다.
  • 의존성을 통해 Microsoft.Data.SqlClient.SNI.runtime Windows ARM 지원을 추가했습니다.
  • 서버가 암호화를 강제할 때(연결 문자열에서 Encrypt=false를 설정하는 경우를 포함하여) 서버 인증서의 유효성 검사를 시작했습니다. 인증서가 신뢰할 수 없거나 서버와 이름이 맞지 않으면 이 업그레이드 후에 연결이 실패할 수 있습니다.
  • 십진수 매개변수 스케일 처리를 SQL Server 호환 반올림으로 변경했습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
2.0.0 2020년 6월 일반 출시.
2.0.1 2020년 8월 공존 친화적 인증 구성과 고정 풀 토큰 만료, 일시적 결함 처리, 엔클레이브 캐싱, 네이티브 SNI 사전 로그인 오류 등이 추가되었습니다.

1.1

버전 1.1은 2019년 11월에 일반 출시되었습니다. 최종 패치는 2021년 3월에 출시된 1.1.4였습니다.

  • 지원되는 .NET 프레임워크 및 .NET 코어 대상에 보안 인클레이브로 항상 암호화된 기능을 추가했습니다.
  • .NET Core의 |DataDirectory|AttachDBFilename 확장을 추가했습니다.
  • 다중 패킷 타겟 버퍼 캐싱을 통한 향상된 비동기 읽기.
  • SqlDataReaderTdsParserStateObject에서 스냅샷 오버헤드를 줄였습니다.
  • 이후 패치에서 타임아웃 상태 및 다중 활성 결과 집합(MARS) 헤더 오류를 수정했습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
1.1.0 2019년 11월 일반 출시.
1.1.1 2020년 2월 교착 상태를 유발한 비동기 SNIPacket 변경 사항을 되돌리고 SNI 의존성 범위를 수정했습니다.
1.1.2 2020년 4월 Active Directory 인터랙티브 인증을 위한 사용자 이름과 고정된 비밀번호 영속성, MARS TDS 헤더 추가.
1.1.3 2020년 5월 중단된 트랜잭션이 풀링 연결을 등록하지 못하게 하고 역행적 MARS 헤더 수정을 되돌렸습니다.
1.1.4 2021년 3월 .NET Framework 4.8 및 이후 버전에서 타임아웃 상태 오류와 MARS 헤더 오류를 수정했습니다.

1.0

Microsoft. Data.SqlClient 1.0은 2019년 8월에 일반 출시되었습니다. 최종 패치는 2019년 9월에 출시된 1.0.19269.1이었습니다.

  • 별도로 제공되는 Microsoft.Data.SqlClient 공급자를 도입했습니다.
  • .NET Framework 4.6 및 이후 버전, .NET Core 2.1 및 이후 버전, .NET Standard 2.0을 지원했습니다.
  • .NET 프레임워크에 인증 기능을 추가 Active Directory Interactive 했습니다.
  • .NET 코어에 인증 기능을 추가 Active Directory Password 했습니다.
  • 데이터 민감도 분류 메타데이터가 SqlDataReader추가되었습니다.
  • SQL Server 2019 UTF-8 정렬 지원 추가.
  • .NET 코어에서 항상 암호화된 지원이 추가되었습니다.

릴리스

버전 릴리스됨 고객 관련 변경 사항
1.0.19239.1 2019년 8월 일반 출시. 트랜잭션 실패 후 연결 재사용, SNI 게시, globalization-invariant 처리 및 대량 복사 시 null 확장 관련 문제를 수정했습니다.
1.0.19249.1 2019년 9월 Unix에서 대용량 멀티패킷 데이터 읽기를 고정했습니다.
1.0.19269.1 2019년 9월 SqlCommand.StatementCompleted을 복원하고, 누락된 SqlConnectionStringBuilder.Authentication을 추가했으며, 호환되지 않는 SqlAuthenticationParameters.Resource API 변경을 되돌렸습니다.

이전 공급자에서 마이그레이션하는 애플리케이션의 경우, 릴리스 정보만 읽는 대신 Migrate from System.Data.SqlClient to Microsoft.Data.SqlClient를 참조하세요.

선택적 패키지 릴리스 정보

선택 패키지는 자체 릴리스 노트가 있습니다. 7.0.2 버전부터는 코어 드라이버와 버전 일치로 출시됩니다.

Package 출시 정보
Microsoft.Data.SqlClient.Extensions.Azure Azure 확장 릴리스 노트
Microsoft.Data.SqlClient.Extensions.Abstractions 확장 추상화 릴리스 노트
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Azure Key Vault Provider 릴리스 정보

Microsoft.Data.SqlClient.Internal.Logging를 직접 참조하지 마세요. 드라이버 패키지 간에 공유되는 내부 의존성입니다.

업데이트 평가하기

  1. 직접 또는 전이적으로 사용되는 모든 드라이버와 선택적 패키지 버전을 식별하세요.
  2. 업데이트가 겹친 모든 마이너 및 메이저 버전의 릴리스 노트를 읽어보세요.
  3. 대상 프레임워크와 데이터베이스 호환성을 위해 SqlClient 드라이버 지원 수명 주기 를 확인하세요.
  4. 관련 패키지를 모두 호환 가능한 버전으로 업데이트하세요.
  5. 애플리케이션의 인증, 암호화, 연결 풀링, 매개변수, 트랜잭션, 재시도, 진단, 배포 출력 등을 구축하고 테스트하세요.

설치 및 배포 명령에 대해서는 Microsoft 설치, 업데이트, 배포를 참조하세요. Data.SqlClient.