Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft. Data.SqlClient поставляется независимо от .NET. В этой статье представлены основные функции, изменения поведения и изменения совместимости в каждой линейке релиза. Таблицы релизов включают все публикации стабильных пакетов, включая все хотфиксы и пакеты, отсутствующие в списке. Для каждого исправления и обновления зависимостей смотрите полные заметки к релизу в репозитории SqlClient.
Текущие выпуски
| Линейка релиза | Последняя версия | Дата выпуска | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | Сентябрь 2026 г. | Стандартный срок поддержки (STS) |
| 6.1 | 6.1.7 | Сентябрь 2026 г. | Долгосрочная поддержка (LTS) |
| 7.1 предварительная версия | 7.1.0-preview3.26238.4 | Август 2026 г. | Preview |
Не используйте предварительные релизы в продакшене. API и поведение предпросмотра могут изменяться до появления General Availability (GA).
Таблицы релизов и общие обзоры доступности используют месяц публикации NuGet. В статье о жизненном цикле перечислены официальные даты выпуска, которые могут различаться. Для окон поддержки см. жизненный цикл поддержки драйверов SqlClient.
Предварительная версия 7.1
В предварительной версии 7.1 расширена поддержка пакетной обработки, обнаружения схем, пула соединений и API Always Encrypted. Изменения вплоть до версии 7.1.0-preview3 включают:
-
SqlBatchподдержка на .NET Framework. - Асинхронные
SqlConnection.GetSchemaAsyncперегрузки. - Псевдонимы строк подключения, такие как
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSizeиWorkstationId. - Сопоставления псевдостолбцов SQL Graph для
$node_id,$edge_id,$from_idи$to_idвSqlBulkCopy. - Соблюдение тайм-аута при подключении по согласию.
- Режим тайм-аута подключения, включаемый по запросу и учитывающий время ожидания соединения из пула.
- Дальнейшее развитие экспериментального пула соединений на основе каналов.
- Асинхронные методы у поставщиков хранилища ключей Always Encrypted. Драйвер пока не вызывает эти методы при выполнении команд, поэтому они не делают существующие операции Always Encrypted асинхронными.
SqlBatchCommand.CommandBehavior обозначается начиная с этой строки. Ранние версии игнорировали это свойство. Устаревшая Type System Version=SQL Server 2000 опция соединения теперь выдает ArgumentException.
Preview3 также изменяет валидацию сертификатов и анклавов.
ServerCertificate Всегда сравнивает настроенный файл сертификата с сертификатом, представленным сервером. Некорректный или нечитаемый файл теперь приводит к сбою соединения вместо резервного перехода к проверке имени хоста. Аттестация анклава с помощью Virtual Secure Mode (VSM) и Host Guardian Service (HGS) теперь проверяет, что открытый ключ анклава привязан к подписанному отчёту об аттестации. Повторно проверьте эти сценарии при переходе с более ранней предварительной версии.
Прочитайте примечания к релизу preview1, preview2 и preview3 перед тестированием этой линии.
7.0 STS
Версия 7.0 стала доступна в марте 2026 года. Это текущая линия STS.
Особенности и изменения
- Аутентификация Microsoft Entra, предоставляемая драйвером, была перенесена из основного пакета в
Microsoft.Data.SqlClient.Extensions.Azure. Добавляйте пакет расширений при использованииActive Directoryрежима аутентификации. - Основной пакет больше не зависит от
Azure.Core,Azure.Identityили от Microsoft Authentication Library (MSAL). -
SqlConnection.SspiContextProviderподдерживает согласование пользовательских токенов Kerberos и NTLM. Идентификатор провайдера является частью ключа пула соединений. - Улучшенная маршрутизация для Azure SQL Hyperscale и именованных реплик чтения согласовывается автоматически.
- Строго типизированные диагностические события команд, подключений и транзакций доступны в .NET Framework и современных версиях .NET.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsоткрывает стандартный список временных ошибок драйвера. -
Active Directory PasswordАутентификация устарела. Используйте интерактивную аутентификацию для пользовательских приложений, аутентификацию субъекта-службы для сервисов или управляемую идентификацию для рабочих нагрузок, размещённых в Azure. - Поддерживаются целевые платформы начиная с .NET Framework 4.6.2 и .NET 8. Драйвер также поддерживает сборку и работу на .NET 10.
Мультиплексирование пакетов для асинхронного чтения остаётся функцией предварительного просмотра и в версии 7.0 включается только по явному запросу. Тестируйте переключатели совместимости на рабочих нагрузках в производственной среде и сохраняйте возможность отката.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 7.0.0 | Март 2026 г. | Выпуск в широкую доступность. |
| 7.0.1 | Апрель 2026 г. | Исправлены SqlBulkCopy запросы метаданных для SQL Server 2016 и выделенных пулов SQL Azure Synapse Analytics, исправлены метаданные векторных полей, добавлена отсутствующая зависимость от .NET Framework System.Data.Common и добавлено перенаправление типов для абстракций аутентификации. |
| 7.0.2 | Июнь 2026 г. | Согласованы основной драйвер и сопутствующие пакеты, повышена надежность разбора токенов TDS, исправлена обработка кэша проверки подписей в Always Encrypted, а также устранены ошибки в вызовах отмены и вызовах с нулевым буфером GetBytes и GetChars. |
| 7.0.3 | Сентябрь 2026 г. | Обновлен SNI до версии 6.0.3. Исправлена SqlBulkCopy регрессия для входа в систему, если невозможно прочитать sys.all_columns, регрессия выделения памяти при отключенной трассировке, проверка ServerCertificate в управляемом SNI, проверка ключа аттестации анклава 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 версии сборок Extensions.Azure, Extensions.Abstractions и Internal.Logging изменились с 1.0.0.0 на 7.0.0.0. Перестройте приложение или добавляйте перенаправления привязок при обновлении этих пакетов.
6.1 LTS
Версия 6.1.0 была выпущена в июле 2025 года, но позже была снята с публикации из-за критических регрессий. Версия 6.1.1, выпущенная в августе 2025 года, установила поддерживаемую линейку 6.1 LTS.
Особенности и изменения
- Собственная передача векторов SQL Server 2025 через
SqlVector<T>, изначально для векторов с плавающей запятой одинарной точности. - Эталонный ресурс .NET Standard 2.0 для совместимости с библиотеками. Этот ресурс не является реализацией для среды выполнения. Исполняемые приложения должны использовать поддерживаемый компонент среды выполнения .NET или .NET Framework.
- Мультиплексирование пакетов по принципу opt-in для больших асинхронных чтений и обработки конечных точек для баз данных SQL в Microsoft Fabric.
- Улучшенная поддержка нативной компиляции Ahead-of-Time (AOT).
- Снижен объём выделения памяти при обработке соединений и TDS.
- Внутренняя основа для расширения интерфейса поставщика общественной безопасности (SSPI) была добавлена в версии 7.0.
Не развёртывайте версию 6.1.0. Версия 6.1.1 отменила изменения, затрагивающие обнаружение затронутых пакетов и их повторное воспроизведение.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 6.1.0 | Июль 2025 г. | Выпуск в широкую доступность. Этот пакет не был выставлен на рынок из-за критических регрессий. Не используйте его. |
| 6.1.1 | Август 2025 г. | Отменены изменения, связанные с обнаружением частичных пакетов, их исправлением и повторным воспроизведением, внесённые в версии 6.1.0. Исправлены векторные эталонные сборки и SqlVector<T>.Null. |
| 6.1.2 | Октябрь 2025 г. | Исправлена ранняя инициализация счётчика производительности, замена пользовательских поставщиков аутентификации и параллельность пула, что не позволяло использовать установленный максимальный размер пула. |
| 6.1.3 | Ноябрь 2025 г. | Добавлена поддержка IgnoreServerProvidedFailoverPartner для базовых групп доступности и настраиваемых портов. Исправлена преждевременная инициализация метрик EventSource. |
| 6.1.4 | Январь 2026 г. | Добавлено EnableMultiSubnetFailoverByDefault. Исправлены SqlDataAdapter сбои при пакетной обработке и отрицательное число активных соединений в метриках пула. |
| 6.1.5 | Апрель 2026 г. | Устранена ненужная обработка Service Principal Name (SPN) и Domain Name System (DNS) для неинтегрированной аутентификации, обеспечено распространение компонентом ExecuteScalar серверных ошибок, возвращаемых после данных, и исправлены типы метаданных векторов. |
| 6.1.6 | Июнь 2026 г. | Добавлена поддержка брокера Windows Web Account Manager (WAM) с возможностью явного включения, усилена обработка токенов TDS, исправлены сбои проверки подписи кэшированного главного ключа столбца и исправлена проверка аргументов GetChars. |
| 6.1.7 | Сентябрь 2026 г. | Обновлен SNI до версии 6.0.3. Исправлены ServerCertificate проверка в управляемом SNI, проверка ключа аттестации анклава Always Encrypted, поведение AccessTokenCallback при повторных попытках подключения и настраиваемая повторная попытка регистрации обработчика разрешения сборок для всего процесса. |
Предыдущие линейки релизов
Следующие линии релиза больше не поддерживаются. Используйте их резюме при планировании обновления для нескольких версий драйверов.
6.0
Версия 6.0 стала доступна в январе 2025 года. Последний патч — версия 6.0.5, выпущенная в январе 2026 года.
- Добавлена нативная поддержка JSON SQL Server через
Microsoft.Data.SqlTypes.SqlJson, включая пути чтения, записи, потоковой передачи и массового копирования. - Добавлены общедоступные строго типизированные диагностические данные для событий команд, подключений и транзакций.
- Добавлено
OpenAsync(SqlConnectionOverrides, CancellationToken), включаяOpenWithoutRetry. - Добавлена поддержка
DateOnlyиTimeOnlyв структурированных параметрахSqlDataRecordиDataTable. - Добавлена поддержка .NET 9.
- Удалены ресурсы .NET Standard и среды выполнения .NET 6. Поддерживаемыми целями стали .NET Framework 4.6.2 и более поздние версии, а также .NET 8 и более поздние версии.
- Для
EnableOptimizedParameterBindingдоступны только текстовые команды.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 6.0.0 | Январь 2025 | Общедоступный выпуск. Этот пакет скрыт из списка на NuGet, и в примечаниях исходного проекта не указана причина. |
| 6.0.1 | Январь 2025 | Исправлены SqlClientDiagnostic справочные API, предупреждения об устаревших версиях TLS и зависимости. |
| 6.0.2 | Апрель 2025 г. | Исправлены возможные нулевые сбои приёма сокетов, SqlJson опорные API, параметры выхода JSON и зависимости. |
| 6.0.3 | Октябрь 2025 г. | Предотвратили замену пользовательских провайдеров аутентификации и исправили параллелизм пула, который не в полной мере использовал Max Pool Size. |
| 6.0.4 | Ноябрь 2025 г. | Добавлено Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner для базовых групп доступности, использующих кастомные TCP-порты. |
| 6.0.5 | Январь 2026 г. | Исправлена SqlDataAdapter обработка нуля в пакетном RPC, добавлены Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefaultи обновлены зависимости. |
5,2
Версия 5.2 стала доступна в феврале 2024 года. Последний патч — версия 5.2.3, выпущенная в апреле 2025 года.
- Добавлено
SqlConnection.AccessTokenCallbackдля асинхронного получения токенов, совместимого с пулом. - Добавлено
SqlBatchиSqlBatchCommandв .NET 6 и более поздних версиях. - Добавлена поддержка
SqlDiagnosticListenerдля .NET Standard. - Добавлено 64-разрядное
SqlBulkCopy.RowsCopied64. СтароеRowsCopiedсвойство остаётся 32-битным целым числом. - Добавлена
Active Directory Workload Identityаутентификация. - Добавлены .NET 8 и поддержка платформы big-endian.
- Изменили
UseOneSecFloorInTimeoutCalculationDuringLoginпо умолчанию наtrue. - Для управляемого SSPI в .NET 7 и более поздних версиях используется
NegotiateAuthentication.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 5.2.0 | Февраль 2024 г. | Выпуск в широкую доступность. |
| 5.2.1 | Май 2024 г. | Исправлены подключения к именованным экземплярам Linux с указанием портов, FireInfoMessageEventOnUserErrors, табличные параметры datetimeoffset(n), отложенный OpenAsync и сохранение AccessTokenCallback с помощью SqlConnection.Clone(). |
| 5.2.2 | Август 2024 г. | Фиксированные тайм-ауты токенов, управляемые соединения сокетов SNI, таргетирование ассемблера, повторы SSPI, пользовательские считывания типов и зашифрованные данные считывателя. Обновленные пакеты идентификации для CVE-2024-35255. |
| 5.2.3 | Апрель 2025 г. | Исправлены возможные ошибки при получении данных из сокета, связанные со значением null, устранены несогласованности эталонных сборок, разрешены отрицательные номера временных ошибок и обновлены зависимости. |
5.1
Версия 5.1 стала доступна в январе 2023 года. Последний патч — версия 5.1.9, выпущенная в январе 2026 года.
- Добавили поддержку .NET 6 и отказались от .NET Core 3.1.
- Добавлена поддержка
DateOnlyиTimeOnlyдля значений параметров иGetFieldValue. - Добавлена поддержка TLS 1.3 в .NET и в собственных путях SQL Server Network Interface (SNI).
- Добавлено
ServerCertificateдля точного совпадения сертификатов сEncrypt=MandatoryиEncrypt=Strict. - Добавлена поддержка Windows ARM64 для .NET Framework.
- Парсер строк
SqlConnectionEncryptOptionсделан общедоступным. - Версия 5.1.3 исправила путь понижения шифрования CVE-2024-0056 и проверку цепочки сертификатов.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 5.1.0 | Январь 2023 г. | Выпуск в широкую доступность. |
| 5.1.1 | Март 2023 г. | Исправлены проблемы с сообщениями об ошибках Always Encrypted, транзакциями в режиме перенаправления, дросселированием токенов, сбоями TDS RPC при больших запросах и GetBytesAsync обработкой значений null. |
| 5.1.2 | Октябрь 2023 г. | Исправлены пользовательские экземпляры SQL Express, повторные попытки для enclave, LocalDB, значения построителя строк подключения, преобразование конфигурации SqlConnectionEncryptOption и временные сбои OpenAsync. |
| 5.1.3 | Январь 2024 г. | Исправлены CVE-2024-0056 и проверка цепочки сертификатов. |
| 5.1.4 | Январь 2024 г. | Исправлена блокировка распределённых транзакций .NET и обновлена Azure.Identity для CVE-2023-36414. |
| 5.1.5 | Январь 2024 г. | Исправлены очистка транзакций перед помещением в пул и сбои при преобразовании даты и времени в Always Encrypted. Обновленные зависимости IdentityModel для CVE-2024-21319. |
| 5.1.6 | Август 2024 г. | Исправлены OpenAsync, тайм-аут аутентификации и сбои, связанные с ожидающими данными зашифрованного считывателя. Обновлены зависимости идентичности для CVE-2024-35255 и кэшированных TokenCredential экземпляров. |
| 5.1.7 | Апрель 2025 г. | Исправлен возможный сбой при получении из сокета значения null, согласованы исходная и эталонная сборки, а также обновлены зависимости. |
| 5.1.8 | Ноябрь 2025 г. | Добавлено Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, исправлено обработку UTF-8 байтовых порядковых знаков в массовом копировании, модернизировано создание MSAL и обновлены зависимости. |
| 5.1.9 | Январь 2026 г. | Перенесли параметр timing в Environment.TickCount и обновили зависимости, зависящие от фреймворка. |
5.0
Версия 5.0 стала доступна в августе 2022 года. Последний патч — версия 5.0.2, выпущенная в марте 2023 года.
- Добавлена поддержка TDS 8.0 через
Encrypt=Strict. Строгий режим запускает TLS до обмена входом в TDS и всегда проверяет сертификат сервера. - Изменил
SqlConnectionStringBuilder.EncryptсboolнаSqlConnectionEncryptOption. - Переместили типы общего языка выполнения (CLR) SQL Server в отдельно версионированный
Microsoft.SqlServer.Serverпакет. - Добавлены варианты подключения
Server SPNиFailover Server SPN. - Добавлена поддержка псевдонимов Windows SQL Server в текущей версии .NET.
- Добавлено
SqlDataSourceEnumeratorв Windows. - Отказался от .NET Framework 4.6.1.
Important
Изменение типа SqlConnectionStringBuilder.Encrypt нарушает двоичную совместимость. Типы, удалённые из Microsoft.Data.SqlClient.Server, также требуют изменений в исходном коде для использования Microsoft.SqlServer.Server. Перекомпилировать приложения и библиотеки, обновить пространства имён и проверить конфликты пространств имён, если на System.Data.SqlClient всё ещё есть ссылки.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 5.0.0 | Август 2022 г. | Выпуск в широкую доступность. |
| 5.0.1 | Октябрь 2022 г. | Восстановлено HostNameInCertificate на .NET Framework и исправлены тупики внимания, SqlConnectionStringBuilder.Encryptрегистрацию отмены, управляемые зависания SNI, коллинг UTF-8 и сбой домена приложений SNI. |
| 5.0.2 | Март 2023 г. | Исправлены утечка памяти при асинхронном чтении, ошибки в режиме перенаправления TransactionScope, ошибки, связанные с Always Encrypted, сбои TDS RPC при больших запросах и взаимоблокировки в распределённых транзакциях. |
4.1
Версия 4.1 стала доступна в январе 2022 года. Последний патч — 4.1.1, выпущенный в сентябре 2022 года.
- Добавлено
Attestation Protocol=Noneдля анклавов безопасности на основе виртуализации (VBS). - Параллельные запросы протокола SQL Server Resolution Protocol в Linux и macOS, когда включён параметр
MultiSubnetFailover. - Фиксированные проверки списка отзыва сертификатов во время аутентификации.
- Исправлены проблемы с аутентификацией Microsoft Entra, значениями null
SqlBinaryи rowversion, а также с поведением сортировки UTF-8.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 4.1.0 | Январь 2022 года | Выпуск в широкую доступность. |
| 4.1.1 | Сентябрь 2022 года | Исправлены сбои списка отозванных сертификатов, распараллелены запросы протокола SQL Server Resolution Protocol для MultiSubnetFailover, а также исправлены сбои аутентификации Microsoft Entra, rowversion, UTF-8 и SNI в доменах приложений. |
4.0
Версия 4.0 стала доступна в ноябре 2021 года. Последний патч — версия 4.0.6, выпущенная в августе 2024 года.
- Изменил значение
Encryptпо умолчанию изfalseнаtrue. - Добавлено
SqlCommand.EnableOptimizedParameterBindingдля команд с множеством параметров. - Добавлено
SqlFileStreamдля Windows через стандартную реализацию .NET. - Добавлена поддержка общих экземпляров LocalDB в управляемом SNI.
- Добавлено
GetFieldValue<T>иGetFieldValueAsync<T>дляXmlReader,TextReader, иStream. - Убран защитный переключатель из настраиваемой логики повторных попыток. Повторная попытка оставалась отключённой до тех пор, пока приложение не настроило провайдера.
- Сбои аутентификации Microsoft Entra теперь вызывают
SqlExceptionвместоAggregateException. - Отказался от .NET Core 2.1.
- Версия 4.0.5 исправила путь понижения шифрования CVE-2024-0056 и проверку цепочки сертификатов.
Important
Поскольку шифрование по умолчанию установлено true в версиях 4.0 и более поздних, обновление может выявить несоответствие доверия сертификатов или имён сервера. Не отключайте шифрование, чтобы обойти эти ошибки. Установите доверенный серверный сертификат или настройте проверку сертификатов для развертывания.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 4.0.0 | Ноябрь 2021 г. | Выпуск в широкую доступность. |
| 4.0.1 | Январь 2022 года | Добавлены SuppressInsecureTLSWarning и исправлены .NET 6 Kerberos, имена каналов LocalDB и параллельные запросы к анклаву. |
| 4.0.2 | Сентябрь 2022 года | Исправлены сбои списка отозванных сертификатов, распараллелены запросы протокола SQL Server Resolution Protocol для MultiSubnetFailover, а также исправлены сбои аутентификации Microsoft Entra, rowversion, UTF-8 и SNI в доменах приложений. |
| 4.0.3 | Апрель 2023 г. | Снижено ограничение токенов для кэшируемых учётных записей и исправлены сбои TDS RPC при больших запросах. |
| 4.0.4 | Октябрь 2023 г. | Исправлены повторные попытки асинхронных операций с enclave, резервный механизм для LocalDB и управляемого SNI, версии файлов и корреляция активности подключений. |
| 4.0.5 | Январь 2024 г. | Исправлены CVE-2024-0056 и проверка цепочки сертификатов. |
| 4.0.6 | Август 2024 г. | Исправлена очистка событий транзакций перед возвратом в пул и ActiveDirectoryAuthenticationProvider.AcquireTokenAsync обработка тайм-аута. |
3.1
Версия 3.1 стала доступна в марте 2022 года. Последний патч — версия 3.1.7, выпущенная в августе 2024 года.
- Добавлено
Attestation Protocol=Noneдля VBS-анклавов. - В список временных ошибок по умолчанию добавлены ошибки SQL 42108 и 42109.
- Добавлена поддержка Windows ARM64 для .NET Framework в версии 3.1.2.
- Снижено количество повторных запросов на токены Microsoft Entra благодаря тихому приобретению токенов в версии 3.1.3.
- Исправлен путь понижения шифрования CVE-2024-0056 в версии 3.1.5.
- Исправлена очистка транзакций перед пулом и обработка тайм-аута токена Microsoft Entra в версии 3.1.7.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 3.1.0 | Март 2022 г. | Выпуск в широкую доступность. |
| 3.1.1 | Август 2022 г. | Исправлены значения нулевой SqlBinaryверсии строки, сбои .NET 6 Kerberos и ошибки аутентификации Microsoft Entra с нулевой ссылкой. |
| 3.1.2 | Февраль 2023 | Добавлена поддержка Windows ARM64 для .NET Framework, а также исправлены проблемы с потокобезопасностью списка повторных попыток, взаимоблокировками распределённых транзакций, сортировкой UTF-8 и валидацией хранимых процедур. |
| 3.1.3 | Март 2023 г. | Уменьшено ограничение частоты токенов Microsoft Entra с помощью AcquireTokenSilent и устранены сбои TDS RPC при выполнении крупных запросов. |
| 3.1.4 | Октябрь 2023 г. | Исправлены повторения асинхронных энклавов, резервный вариант LocalDB и управляемый SNI, версии файлов, корреляцию активности соединения и форматирование EventSource. |
| 3.1.5 | Январь 2024 г. | Исправлены CVE-2024-0056 и проверка цепочки сертификатов. |
| 3.1.6 | Август 2024 г. | Этот пакет не был должным образом подписан и был исключён из списка. Файл примечаний к выпуску в вышестоящем источнике отсутствует. Используйте версию 3.1.7. |
| 3.1.7 | Август 2024 г. | Исправлена очистка событий транзакций перед пулированием, тайм-ауты аутентификации, подпись ассемблера и сбой домена приложения SNI. |
3.0
Версия 3.0 стала доступна в июне 2021 года. Последний патч — версия 3.0.1, выпущенная в сентябре 2021 года.
- Добавлена настраиваемая логика повторных попыток для операций соединения и команд. В версии 3.0 она по-прежнему была доступна только при явном включении под
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Добавлены счётчики событий для мониторинга активности соединений и пула подключений.
- Добавлена
Active Directory Defaultаутентификация черезAzure.Identity. - Добавлена регистрация поставщика хранилища ключей Always Encrypted на уровне соединения и на уровне команды.
- Добавлено предпочтение IP-адреса TCP.
- Изменили управляемую идентификационную аутентификацию, назначенную пользователем, чтобы использовать client ID вместо object ID в
User Id. - Изменили значения NULL типа SQL rowversion: теперь они возвращают
DBNullвместо пустого массива байтов. Переключатель AppContext сохранял старое поведение. - Минимальная цель .NET Framework была повышена с 4.6 до 4.6.1.
Поставщики системного хранилища имеют приоритет над провайдерами, зарегистрированными на соединении или команде, начиная с версии 3.0. Переименуйте пользовательского провайдера, если его имя конфликтует с именем встроенного провайдера.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 3.0.0 | Июнь 2021 года | Выпуск в широкую доступность. |
| 3.0.1 | Сентябрь 2021 г. | Исправлены проблемы, связанные с блокировками при открытии соединений Microsoft Entra, состоянием повышения транзакции, обязательным шифрованием, рекурсивными повторами попыток и взаимоблокировками, а также с неработоспособными соединениями. |
2.1
Версия 2.1 стала доступна в ноябре 2020 года. Последний патч — версия 2.1.7, выпущенная в январе 2024 года.
- Добавлена поддержка Extended Always Encrypted на платформах .NET Standard 2.0.
- Добавлена поддержка защищённых анклавов в .NET Core на Unix и на всех платформах .NET Standard 2.1.
- Добавлены
Active Directory Device Code Flowи аутентификация с использованием управляемой идентификации. - Добавлены точки расширения для настройки интерактивной аутентификации и аутентификации с кодом устройства.
- Добавлены метаданные о ранге классификации чувствительности.
- Добавлено
SqlConnection.ServerProcessId. - Параметр подключения
Command Timeoutдобавлен в качестве параметра по умолчанию для команд, созданных с помощью подключения. - Версия 2.1.7 исправила путь понижения шифрования CVE-2024-0056.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 2.1.0 | Ноябрь 2020 г. | Выпуск в широкую доступность. |
| 2.1.1 | Декабрь 2020 г. | Исправлены проблемы с управляемой идентичностью, назначаемой системой, в Функции Azure, Kerberos в Unix и TCP keep-alive. |
| 2.1.2 | Март 2021 г. | Исправлены именованные экземпляры в Unix, некорректные результаты при тайм-ауте, небезопасная обработка DTD, SPN Kerberos, отсутствующие зависимости для кэширования, трассировка и заголовки MARS. |
| 2.1.3 | май 2021 года | Предотвращено повреждение данных транзакций при открытых наборах результатов и устранено состояние гонки между SinglePhaseCommit и TransactionEnded. |
| 2.1.4 | Сентябрь 2021 г. | Гарантируется, что соединения выходят из строя, когда требуется шифрование, а фиксированные соединения переходят в непригодное состояние. |
| 2.1.5 | Август 2022 г. | Добавлена проверка длины сохранённой процедуры CommandText и исправлена аутентификация .NET 6 Kerberos и SqlTypeWorkarounds. |
| 2.1.6 | Апрель 2023 г. | Исправлены сбои TDS RPC при больших запросах, конфликты сопоставления UTF-8 по умолчанию в SqlCommand.ExecuteReaderAsync, а также взаимоблокировки при отправке сигнала attention. |
| 2.1.7 | Январь 2024 г. | Исправлены CVE-2024-0056 и проверка цепочки сертификатов. |
2.0
Версия 2.0 стала доступна в общем виде в июне 2020 года. Последний патч был 2.0.1, выпущенный в августе 2020 года.
- Добавлена аутентификация
Active Directory IntegratedиActive Directory Interactiveдля .NET Core и .NET Standard. - Добавлена
Active Directory Service Principalаутентификация. - Добавлена
Microsoft.Data.SqlClient.EventSourceтрассировка. - Добавлены кроссплатформенный механизм TCP keep-alive и опциональная управляемая сетевая реализация в Windows для тестирования и отладки. Управляемый путь не поддерживал проверку подлинности Windows вне домена.
- Добавил
SqlBulkCopy.RowsCopiedи заказал подсказки для массового копирования. - Добавлено
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Добавлена поддержка Windows ARM через зависимость
Microsoft.Data.SqlClient.SNI.runtime. - Началась проверка сертификата сервера, когда сервер требует шифрования, в том числе если в строке подключения задано значение
Encrypt=false. Соединения могут сбойтись после этого обновления, если сертификат не является доверенным или его имя не совпадает с сервером. - Изменение обработки масштаба десятичных параметров на использование совместимого с SQL Server округления.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 2.0.0 | Июнь 2020 г. | Выпуск в широкую доступность. |
| 2.0.1 | Август 2020 г. | Добавлена конфигурация аутентификации, обеспечивающая совместимость, и исправлены время истечения срока действия токенов в пуле, обработка временных ошибок, кэширование анклава и ошибки предварительного входа native SNI. |
1.1
Версия 1.1 стала доступна в ноябре 2019 года. Последний патч — 1.1.4, выпущенный в марте 2021 года.
- Добавлена поддержка Always Encrypted с защищёнными анклавами для поддерживаемых целевых платформ .NET Framework и .NET Core.
- Добавлена поддержка расширения
|DataDirectory|вAttachDBFilenameв .NET Core. - Улучшены асинхронные операции чтения благодаря многопакетному кэшированию целевого буфера.
- Уменьшенный снимок сверху в
TdsParserStateObjectиSqlDataReader. - Исправлены в последующих патчах ошибки заголовков timeout-state и Multiple Active Result Sets (MARS).
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 1.1.0 | Ноябрь 2019 г. | Выпуск в широкую доступность. |
| 1.1.1 | Февраль 2020 г. | Отменили асинхронные SNIPacket изменения, вызывавшие тупиковые блокировки, и исправили диапазон зависимостей SNI. |
| 1.1.2 | Апрель 2020 г. | Добавлены имена пользователей для аутентификации Active Directory Interactive и исправлены сохранение пароля и заголовки MARS TDS. |
| 1.1.3 | Май 2020 г. | Предотвратили подключение соединений из пула к прерванным транзакциям и откатили регрессивное исправление заголовка MARS. |
| 1.1.4 | Март 2021 г. | Исправлены некорректные результаты состояния тайм-аута и ошибки заголовков MARS в .NET Framework 4.8 и более поздних версиях. |
1.0
Microsoft. Data.SqlClient 1.0 стал доступен в августе 2019 года. Последний патч — 1.0.19269.1, выпущенный в сентябре 2019 года.
- Добавлен отдельно поставляемый поставщик
Microsoft.Data.SqlClient. - Поддерживался .NET Framework 4.6 и более поздние версии, .NET Core 2.1 и более поздние, а также .NET Standard 2.0.
- Добавлена
Active Directory Interactiveаутентификация на .NET Framework. - Добавлена
Active Directory Passwordаутентификация на .NET Core. - Добавлены метаданные классификации чувствительности данных для
SqlDataReader. - Добавлена поддержка параметров сортировки UTF-8 в SQL Server 2019.
- Добавлена поддержка Always Encrypted на .NET Core.
Релизы
| Версия | Выпущено | Изменения, релевантные клиенту |
|---|---|---|
| 1.0.19239.1 | Август 2019 г. | Выпуск в широкую доступность. Исправлены проблемы с повторным использованием соединения после сбоев транзакций, публикацией SNI, обработкой в режиме инвариантности к глобализации и расширением значений NULL при пакетном копировании. |
| 1.0.19249.1 | Сентябрь 2019 | Исправлено чтение больших объёмов данных в несколько пакетов на Unix. |
| 1.0.19269.1 | Сентябрь 2019 | Восстановлен SqlCommand.StatementCompleted, добавлен отсутствующий SqlConnectionStringBuilder.Authentication и отменено несовместимое изменение API SqlAuthenticationParameters.Resource. |
Если приложение переходит со старого поставщика данных, используйте Переход с System.Data.SqlClient на 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 напрямую. Это внутренняя зависимость, которую разделяют драйверные пакеты.
Оценить обновление
- Определите каждый драйвер и опциональную версию пакета, используемую напрямую или транзитивно.
- Читайте примечания к выпуску для каждой минорной и основной версии, через которые проходит обновление.
- Проверьте жизненный цикл поддержки драйверов SqlClient для совместимости целевого фреймворка и базы данных.
- Обновите все связанные пакеты до совместимых версий.
- Создайте и протестируйте аутентификацию, шифрование, пул подключений, параметры, транзакции, повторные попытки, диагностику и выходные данные развертывания приложения.
Для команд установки и развертывания см. Установка, обновление и развертывание Microsoft. Data.SqlClient.