Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft. Data.SqlClient se distribuye de forma independiente de .NET. Este artículo resume las características significativas, los cambios de comportamiento y los cambios de compatibilidad en cada línea de lanzamiento. Las tablas de lanzamiento incluyen todas las publicaciones de paquetes estables, incluyendo cada hotfix y paquete no listado. Para ver todas las correcciones y actualizaciones de dependencias, consulte las notas completas de la versión en el repositorio SqlClient.
Versiones actuales
| Línea de lanzamiento | Versión más reciente | Fecha de lanzamiento | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | Septiembre de 2026 | Apoyo a Plazo Estándar (STS) |
| 6.1 | 6.1.7 | Septiembre de 2026 | Soporte técnico a largo plazo (LTS) |
| versión preliminar 7.1 | 7.1.0-preview3.26238.4 | Agosto de 2026 | Preview |
No uses versiones de vista previa en producción. Las APIs y comportamientos de la vista previa pueden cambiar antes de la disponibilidad general (GA).
Las tablas de lanzamiento y los resúmenes de disponibilidad general utilizan el mes de publicación de NuGet. El artículo sobre el ciclo de vida enumera las fechas oficiales de lanzamiento, que pueden variar. Para conocer los periodos de soporte, consulta el ciclo de vida de soporte del controlador SqlClient.
versión preliminar 7.1
La versión preliminar 7.1 amplía las API de Always Encrypted, la agrupación de conexiones, la detección de esquemas y el procesamiento por lotes. Los cambios hasta la versión 7.1.0-preview3 incluyen:
-
SqlBatchcompatibilidad con .NET Framework. - Sobrecargas asincrónicas
SqlConnection.GetSchemaAsync. - Alias de cadenas de conexión como
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSize, yWorkstationId. - Pseudo-asignaciones de columnas en grafos SQL para
$node_id,$edge_id,$from_id, y$to_idenSqlBulkCopy. - Aplicación opcional del tiempo de espera por inactividad de la conexión.
- Un modo opcional de tiempo de espera de conexión que incluye el tiempo transcurrido mientras se espera una conexión del grupo.
- Desarrollo adicional del pool de conexiones experimental basado en canales.
- Métodos asíncronos en proveedores de almacenamiento de claves Always Crypted. El controlador aún no llama a estos métodos durante la ejecución de comandos, por lo que no hacen que las operaciones Always Encrypted existentes sean asíncronas.
SqlBatchCommand.CommandBehavior se respeta a partir de esta línea. Las versiones anteriores ignoraban la propiedad. La opción de conexión Type System Version=SQL Server 2000 obsoleta ahora genera un ArgumentException.
Preview3 también cambia la validación de certificados y enclaves.
ServerCertificate siempre compara el archivo de certificado configurado con el certificado presentado por el servidor. Un archivo no válido o ilegible ahora hace que falle la conexión en lugar de usar como alternativa la validación del nombre de host. La atestación de enclaves de Virtual Secure Mode (VSM) y Host Guardian Service (HGS) verifica ahora que la clave pública del enclave está vinculada al informe de atestación firmado. Vuelve a probar estas rutas al pasar desde una versión preliminar anterior.
Lee las notas de la versión de la versión preliminar 1, la versión preliminar 2 y la versión preliminar 3 antes de probar esta línea.
7.0 STS
La versión 7.0 alcanzó disponibilidad general en marzo de 2026. Es la línea STS actual.
Características y cambios
- La autenticación Microsoft Entra proporcionada por el controlador pasó del paquete básico a
Microsoft.Data.SqlClient.Extensions.Azure. Añade el paquete de extensión cuando uses unActive Directorymodo de autenticación. - El paquete central ya no depende de
Azure.Core,Azure.Identity, ni de Biblioteca de autenticación de Microsoft (MSAL). -
SqlConnection.SspiContextProvidersoporta negociación personalizada de Kerberos y tokens NTLM. La identidad del proveedor forma parte de la clave del pool de conexión. - El enrutamiento mejorado para Azure SQL Hyperscale y réplicas de lectura nombradas se negocia automáticamente.
- Los eventos de diagnóstico de comandos, conexiones y transacciones fuertemente tipados están disponibles en .NET Framework y en .NET actual.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsexpone la lista predeterminada de errores transitorios del controlador. -
Active Directory PasswordLa autenticación está obsoleta. Utiliza autenticación interactiva para aplicaciones de usuario, autenticación por principal de servicio para servicios o identidad gestionada para cargas de trabajo alojadas en Azure. - La compatibilidad de destino comienza con .NET Framework 4.6.2 y .NET 8. El controlador también permite compilar y ejecutar en .NET 10.
La multiplexación de paquetes para lecturas asíncronas sigue siendo una característica en versión preliminar y su activación es voluntaria en 7.0. Prueba los conmutadores de compatibilidad con las cargas de trabajo de producción y mantén una vía de reversión.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 7.0.0 | Marzo de 2026 | Versión de disponibilidad general. |
| 7.0.1 | Abril de 2026 | Se corrigieron las consultas de metadatos de SqlBulkCopy para SQL Server 2016 y los grupos de SQL dedicados de Azure Synapse Analytics, se corrigieron los metadatos de campos vectoriales, se añadió la dependencia que faltaba de .NET Framework System.Data.Common y se añadió el reenvío de tipos para las abstracciones de autenticación. |
| 7.0.2 | Junio de 2026 | Se alinearon el controlador principal y los paquetes complementarios, se reforzó el análisis de tokens TDS, se corrigió la gestión de la caché de verificación de firmas de Always Encrypted y se corrigieron errores en las llamadas de cancelación y en las llamadas con búfer nulo GetBytes y GetChars. |
| 7.0.3 | Septiembre de 2026 | Actualizado SNI a la 6.0.3. Se ha corregido una regresión de SqlBulkCopy en los inicios de sesión que no pueden leer sys.all_columns, una regresión de asignación de memoria cuando el seguimiento está deshabilitado, la validación de ServerCertificate en SNI administrado, la verificación de la clave de atestación del enclave de Always Encrypted y el reintento configurable al registrar un controlador de resolución de ensamblados para todo el proceso. |
Importante
A partir de la 7.0.2, alinear las referencias directas con Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, y Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Permita que Microsoft.Data.SqlClient.Internal.Logging se resuelva de forma transitiva. En .NET Framework, las versiones ensambladoras de Extensions.Azure, , y Internal.Logging cambiaron de 1.0.0.0 a 7.0.0.0Extensions.Abstractions. Reconstruye la aplicación o añade redirecciones de enlace cuando actualices estos paquetes.
6.1 LTS
La versión 6.1.0 se lanzó en julio de 2025, pero posteriormente fue retirada de la lista debido a regresiones críticas. La versión 6.1.1, lanzada en agosto de 2025, estableció la línea 6.1 LTS soportada.
Características y cambios
- Transporte nativo de vectores de SQL Server 2025 a través de
SqlVector<T>, inicialmente para vectores de coma flotante de precisión simple. - Un recurso de referencia .NET Standard 2.0 para compatibilidad de bibliotecas. Este activo no es una implementación en tiempo de ejecución. Las aplicaciones ejecutables deben utilizar un activo de ejecución compatible con .NET Framework o .NET.
- Implementación opcional de la multiplexación de paquetes para lecturas asincrónicas de gran volumen y la gestión de puntos de conexión para la base de datos SQL en Microsoft Fabric.
- Soporte mejorado para la compilación nativa Ahead-of-Time (AOT).
- Se redujeron las asignaciones en las rutas de procesamiento de conexiones y de TDS.
- Se añadió el trabajo preparatorio interno para la extensibilidad pública de la Interfaz del Proveedor de Soporte de Seguridad (SSPI) en la versión 7.0.
No despliegues la versión 6.1.0. La versión 6.1.1 revirtió los cambios afectados en la detección de paquetes y la reproducción.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 6.1.0 | Julio de 2025 | Versión de disponibilidad general. Este paquete no fue incluido debido a regresiones críticas. No lo uses. |
| 6.1.1 | Agosto de 2025 | Se han revertido los cambios introducidos en la versión 6.1.0 en la detección de paquetes parciales, su corrección y su reprocesamiento. Conjuntos de referencia vectorial corregidos y SqlVector<T>.Null. |
| 6.1.2 | Octubre de 2025 | Se corrigió la inicialización temprana del contador de rendimiento, la sustitución de proveedores de autenticación personalizados y la concurrencia del pool que impedían el uso del tamaño máximo del pool configurado. |
| 6.1.3 | Noviembre de 2025 | Se agregó IgnoreServerProvidedFailoverPartner para grupos de disponibilidad básicos y puertos personalizados. Se corrigió la inicialización temprana de las métricas de EventSource. |
| 6.1.4 | Enero de 2026 | Se agregó EnableMultiSubnetFailoverByDefault. Se corrigieron SqlDataAdapter los fallos en el procesamiento por lotes y los recuentos negativos de conexiones activas en las métricas del pool. |
| 6.1.5 | Abril de 2026 | Se eliminó el procesamiento innecesario de Nombre de entidad de servicio (SPN) y Sistema de nombres de dominio (DNS) en la autenticación no integrada, se hizo que ExecuteScalar propagara los errores del servidor devueltos después de los datos y se corrigieron los tipos de metadatos de vectores. |
| 6.1.6 | Junio de 2026 | Se añadió soporte opcional para el agente de Windows Web Account Manager (WAM), se reforzó el análisis de los tokens TDS, se corrigieron los errores de firma de las claves maestras de columna almacenadas en caché y se corrigió la validación de argumentos de GetChars. |
| 6.1.7 | Septiembre de 2026 | Actualizado SNI a la 6.0.3. Se corrigió la validación en ServerCertificate SNI administrado, la verificación de la clave de certificación del enclave de Always Encrypted, el comportamiento de reintento de conexión de AccessTokenCallback y el reintento configurable al registrar un controlador de resolución de ensamblados para todo el proceso. |
Líneas de lanzamiento anteriores
Las siguientes líneas de lanzamiento ya no están soportadas. Utiliza sus resúmenes cuando planees una actualización en varias versiones de controladores.
6.0
La versión 6.0 alcanzó disponibilidad general en enero de 2025. El parche final fue la 6.0.5, lanzada en enero de 2026.
- Se añadió compatibilidad nativa con JSON de SQL Server a través de
Microsoft.Data.SqlTypes.SqlJson, incluidas las rutas de lectura, escritura, streaming y copia masiva. - Se añadieron cargas de diagnóstico públicas y fuertemente tipadas para eventos de comandos, conexiones y transacciones.
- Se ha añadido
OpenAsync(SqlConnectionOverrides, CancellationToken), incluidoOpenWithoutRetry. - Se añadió soporte para
DateOnlyyTimeOnlyen los parámetros estructuradosDataTableySqlDataRecord. - Se añadió soporte para .NET 9.
- Se eliminaron los activos de ejecución .NET Standard y .NET 6. Los objetivos compatibles pasaron a ser .NET Framework 4.6.2 y versiones posteriores, así como .NET 8 y versiones posteriores.
- Se restringió
EnableOptimizedParameterBindinga comandos de texto.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 6.0.0 | Enero de 2025 | Lanzamiento de disponibilidad general. Este paquete no está listado en NuGet, y las notas aguas arriba no documentan ninguna razón. |
| 6.0.1 | Enero de 2025 | APIs de referencia corregidas SqlClientDiagnostic , advertencias TLS de nivel inferior y dependencias. |
| 6.0.2 | Abril de 2025 | Se corrigieron posibles errores por valor nulo en la recepción por socket, las API de referencia de SqlJson, los parámetros de salida JSON y las dependencias. |
| 6.0.3 | Octubre de 2025 | Se evitó la sustitución de proveedores de autenticación personalizados y se corrigió la concurrencia del grupo, que infrautilizaba Max Pool Size. |
| 6.0.4 | Noviembre de 2025 | Se ha añadido Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner para grupos de disponibilidad básica que usan puertos TCP personalizados. |
| 6.0.5 | Enero de 2026 | Se corrigió la gestión de valores nulos en RPC por lotes, se añadió Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault, y se actualizaron las dependencias. |
5.2
La versión 5.2 alcanzó disponibilidad general en febrero de 2024. El parche final fue la 5.2.3, lanzada en abril de 2025.
- Se ha añadido
SqlConnection.AccessTokenCallbackpara la adquisición asíncrona de tokens compatible con grupos. - Se añadieron
SqlBatchySqlBatchCommanden .NET 6 y versiones posteriores. - Se añadió
SqlDiagnosticListenersoporte para .NET Standard. - Se añadió de 64 bits
SqlBulkCopy.RowsCopied64. La propiedad más antiguaRowsCopiedsigue siendo un entero de 32 bits. - Se ha añadido autenticación
Active Directory Workload Identity. - Se añadió compatibilidad con .NET 8 y con plataformas big-endian.
- Se cambió
UseOneSecFloorInTimeoutCalculationDuringLoginpara configurartruede forma predeterminada. - Se usó
NegotiateAuthenticationpara SSPI administrado en .NET 7 y versiones posteriores.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 5.2.0 | Febrero de 2024 | Lanzamiento de disponibilidad general. |
| 5.2.1 | Mayo de 2024 | Se corrigieron las conexiones a instancias con nombre de Linux con puertos, FireInfoMessageEventOnUserErrors, los parámetros con valores de tabla datetimeoffset(n), el retraso de OpenAsync y la conservación de AccessTokenCallback mediante SqlConnection.Clone(). |
| 5.2.2 | Agosto de 2024 | Se corrigieron los tiempos de espera de token, las conexiones de socket SNI administradas, el direccionamiento de ensamblados, los reintentos de SSPI, las lecturas de tipos definidos por el usuario y los datos del lector cifrado. Paquetes de identidad actualizados para CVE-2024-35255. |
| 5.2.3 | Abril de 2025 | Se corrigieron posibles errores de valor nulo en la recepción por socket e inconsistencias en los ensamblados de referencia, se permitieron números negativos de error transitorio y se actualizaron las dependencias. |
5,1
La versión 5.1 alcanzó disponibilidad general en enero de 2023. El parche final fue la 5.1.9, lanzado en enero de 2026.
- Se añadió soporte para .NET 6 y se eliminó .NET Core 3.1.
- Se añadió compatibilidad con
DateOnlyyTimeOnlypara los valores de los parámetros yGetFieldValue. - Se añadió TLS 1.3 en .NET y rutas nativas de SQL Server Network Interface (SNI).
- Se ha añadido
ServerCertificatepara la coincidencia exacta de certificados conEncrypt=MandatoryyEncrypt=Strict. - Se añadió soporte para Windows ARM64 para .NET Framework.
- Hicieron público el
SqlConnectionEncryptOptionanalizador de cadenas. - La versión 5.1.3 corrigió la ruta de descenso de cifrado CVE-2024-0056 y la validación de la cadena de certificados.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 5.1.0 | Enero de 2023 | Versión de disponibilidad general. |
| 5.1.1 | Marzo de 2023 | Se corrigieron los errores de notificación de Always Encrypted, las transacciones en modo de redirección, la limitación de tokens, los errores de TDS RPC en consultas grandes y el manejo de valores nulos de GetBytesAsync. |
| 5.1.2 | Octubre de 2023 | Se corrigieron las instancias de usuario de SQL Express, los reintentos de enclave, LocalDB, los valores del generador de cadenas de conexión, la conversión de configuración de SqlConnectionEncryptOption y los errores transitorios de OpenAsync. |
| 5.1.3 | Enero de 2024 | Se ha corregido la CVE-2024-0056 y la validación de cadenas de certificados. |
| 5.1.4 | Enero de 2024 | Se corrigió un interbloqueo en una transacción distribuida de .NET y se actualizó Azure.Identity para corregir CVE-2023-36414. |
| 5.1.5 | Enero de 2024 | Se corrigió la limpieza de transacciones antes de la agrupación de conexiones y los errores de conversión de fecha y hora de Always Encrypted. Dependencias actualizadas de IdentityModel para CVE-2024-21319. |
| 5.1.6 | Agosto de 2024 | Se corrigieron OpenAsync, el tiempo de espera de autenticación y los fallos de datos pendientes del lector cifrado. Se actualizaron las dependencias de identidad para CVE-2024-35255 y se almacenaron en caché las instancias de TokenCredential. |
| 5.1.7 | Abril de 2025 | Se corrigió un posible fallo nulo de recepción de socket, alineó los conjuntos fuente y referencia, y actualizó las dependencias. |
| 5.1.8 | Noviembre de 2025 | Se añadieron Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, se corrigió el manejo de la marca de orden de bytes UTF-8 en la copia masiva, se modernizó la creación de MSAL y se actualizaron las dependencias. |
| 5.1.9 | Enero de 2026 | Se movió la temporización de SqlStatistics a Environment.TickCount y se actualizaron las dependencias específicas del marco de trabajo. |
5.0
La versión 5.0 alcanzó disponibilidad general en agosto de 2022. El parche final fue la 5.0.2, lanzado en marzo de 2023.
- Se añadió TDS 8.0 mediante
Encrypt=Strict. El modo estricto inicia TLS antes del intercambio de inicio de sesión TDS y siempre valida el certificado del servidor. - Se ha cambiado
SqlConnectionStringBuilder.EncryptdeboolaSqlConnectionEncryptOption. - Se movieron los tipos de tiempo de ejecución de lenguaje común (CLR) de SQL Server al paquete versionado
Microsoft.SqlServer.Serverpor separado. - Opciones añadidas
Server SPNyFailover Server SPNde conexión. - Se añadió compatibilidad con alias de SQL Server en Windows en la versión actual de .NET.
- Se ha añadido
SqlDataSourceEnumeratoren Windows. - Eliminé .NET Framework 4.6.1.
Importante
El SqlConnectionStringBuilder.Encrypt cambio de tipo es una ruptura binaria. Los tipos eliminados de Microsoft.Data.SqlClient.Server también requieren cambios de fuente para poder usar Microsoft.SqlServer.Server. Recompila aplicaciones y bibliotecas, actualiza los espacios de nombres y comprueba conflictos de espacios de nombres cuando System.Data.SqlClient permanezca referenciado.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 5.0.0 | Agosto de 2022 | Versión de disponibilidad general. |
| 5.0.1 | Octubre de 2022 | Restaurado HostNameInCertificate en .NET Framework y solucionado bloqueos de atención, SqlConnectionStringBuilder.Encryptregistro de cancelación, bloqueos SNI gestionados, clasificación UTF-8 y un fallo SNI en el dominio de aplicación. |
| 5.0.2 | Marzo de 2023 | Se solucionaron fugas de memoria en la lectura asíncrona, errores del modo de redirección TransactionScope, errores de Always Encrypted, errores de RPC de TDS en consultas grandes e interbloqueos en transacciones distribuidas. |
4.1
La versión 4.1 alcanzó disponibilidad general en enero de 2022. El parche final fue la 4.1.1, lanzada en septiembre de 2022.
- Añadido
Attestation Protocol=Nonepara enclaves de seguridad basada en virtualización (VBS). - Solicitudes del protocolo de resolución paralelizada de SQL Server en Linux y macOS cuando
MultiSubnetFailoverestá habilitado. - Revisión fija de la lista de revocación de certificados durante la autenticación.
- Se corrigieron la autenticación de Microsoft Entra, los valores nulos
SqlBinaryy rowversion, y el comportamiento de la intercalación UTF-8.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 4.1.0 | Enero de 2022 | Versión de disponibilidad general. |
| 4.1.1 | Septiembre de 2022 | Se corrigieron fallos en la lista de revocación de certificados, se paralelizaron las solicitudes del SQL Server Resolution Protocol para MultiSubnetFailover, y se corrigieron fallos de autenticación Microsoft Entra, rowversion, UTF-8 y SNI en el dominio de aplicación. |
4.0
La versión 4.0 alcanzó disponibilidad general en noviembre de 2021. El parche final fue la 4.0.6, lanzada en agosto de 2024.
- Cambió el valor por defecto de
Encryptde defalseatrue. - Añadido
SqlCommand.EnableOptimizedParameterBindingpara comandos con muchos parámetros. - Añadido
SqlFileStreampara Windows mediante la implementación del estándar .NET. - Se añadió soporte compartido para instancias LocalDB en SNI gestionado.
- Añadido
GetFieldValue<T>yGetFieldValueAsync<T>paraXmlReader,TextReader, yStream. - Se eliminó el interruptor de seguridad de la lógica de reintentos configurable. Retry permanecía deshabilitado hasta que una aplicación configuraba un proveedor.
- Se cambiaron los errores de autenticación de Microsoft Entra para que generen
SqlExceptionen lugar deAggregateException. - Eliminé .NET Core 2.1.
- La versión 4.0.5 corrigió la ruta de degradación de cifrado CVE-2024-0056 y la validación de la cadena de certificados.
Importante
Como el cifrado es true por defecto en versiones 4.0 y posteriores, una actualización puede exponer discrepancias en la confianza de certificados o en nombres de servidor. No desactives el cifrado para evitar estos errores. Instala un certificado de servidor de confianza o configura la validación del certificado para el despliegue.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 4.0.0 | Noviembre de 2021 | Versión de disponibilidad general. |
| 4.0.1 | Enero de 2022 | Se añadieron SuppressInsecureTLSWarning y se corrigieron Kerberos en .NET 6, los nombres de tubería de LocalDB y las consultas simultáneas a enclaves. |
| 4.0.2 | Septiembre de 2022 | Se corrigieron fallos en la lista de revocación de certificados, se paralelizaron las solicitudes del SQL Server Resolution Protocol para MultiSubnetFailover, y se corrigieron fallos de autenticación Microsoft Entra, rowversion, UTF-8 y SNI en el dominio de aplicación. |
| 4.0.3 | abril de 2023 | Se redujo la restricción de tokens para cuentas en caché y se corrigieron los errores de RPC de TDS en consultas grandes. |
| 4.0.4 | Octubre de 2023 | Se corrigieron los reintentos asíncronos de enclave, la conmutación por error de LocalDB y de SNI administrado, las versiones de los archivos y la correlación de la actividad de conexión. |
| 4.0.5 | Enero de 2024 | Se corrigieron CVE-2024-0056 y la validación de la cadena de certificados. |
| 4.0.6 | Agosto de 2024 | Limpieza fija de eventos de transacción antes de agrupar y ActiveDirectoryAuthenticationProvider.AcquireTokenAsync gestionar el tiempo de espera. |
3.1
La versión 3.1 alcanzó disponibilidad general en marzo de 2022. El parche final fue la 3.1.7, lanzada en agosto de 2024.
- Se ha añadido
Attestation Protocol=Nonepara enclaves de VBS. - Se añadieron los errores SQL 42108 y 42109 a la lista predeterminada de errores transitorios.
- Se añadió soporte para Windows ARM64 para .NET Framework en la versión 3.1.2.
- Se redujeron las solicitudes repetidas de tokens Microsoft Entra mediante la adquisición silenciosa de tokens en la versión 3.1.3.
- Corregido la ruta de descenso de cifrado CVE-2024-0056 en la versión 3.1.5.
- Se corrigió la limpieza de transacciones antes de la agrupación y la gestión del tiempo de espera del token de Microsoft Entra en la versión 3.1.7.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 3.1.0 | Marzo de 2022 | Versión de disponibilidad general. |
| 3.1.1 | Agosto de 2022 | Se corrigieron los valores NULL de SqlBinaryrowversion, los fallos de Kerberos en .NET 6 y los errores de referencia nula en la autenticación de Microsoft Entra. |
| 3.1.2 | Febrero de 2023 | Se añadió soporte para Windows ARM64 del Framework .NET y se corrigió la seguridad de hilos por lista de reintentos, bloqueos de transacciones distribuidas, clasificación UTF-8 y validación de procedimientos almacenados. |
| 3.1.3 | Marzo de 2023 | Se redujo la limitación de frecuencia de tokens de Microsoft Entra con AcquireTokenSilent y se corrigieron los errores de RPC de TDS en consultas grandes. |
| 3.1.4 | Octubre de 2023 | Enclaves asíncronos fijos, respaldo de LocalDB y SNI gestionado, versiones de archivos, correlación de actividad de conexión y formato EventSource. |
| 3.1.5 | Enero de 2024 | Se ha corregido la CVE-2024-0056 y la validación de cadenas de certificados. |
| 3.1.6 | Agosto de 2024 | Este paquete no estaba firmado correctamente y no estaba listado. No existe ningún archivo de notas de lanzamiento aguas arriba. Usa la 3.1.7 en su lugar. |
| 3.1.7 | Agosto de 2024 | Limpieza fija de eventos de transacción antes del pooling, tiempos de espera de autenticación, firma de ensamblador y un fallo del dominio de aplicación SNI. |
3.0
La versión 3.0 alcanzó disponibilidad general en junio de 2021. El parche final fue la 3.0.1, lanzado en septiembre de 2021.
- Se añadió lógica de reintentos configurable para operaciones de conexión y comandos. En la versión 3.0, siguió siendo opcional tras
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Se añadieron Contadores de Eventos para la actividad de conexión y pool.
- Se ha añadido autenticación mediante
Active Directory Defaulta través deAzure.Identity. - Se añadió el registro de proveedor de almacenamiento de claves Always Encrypted con alcance de conexión y comando.
- Se añadió la preferencia de dirección IP TCP.
- Se cambió la autenticación de identidad gestionada asignada por el usuario para usar el ID del cliente en lugar del ID del objeto en
User Id. - Se cambiaron los valores nulos de SQL rowversion para que devolvieran
DBNullen lugar de una matriz de bytes vacía. Un interruptor AppContext conservaba el comportamiento antiguo. - Se ha subido el objetivo mínimo del Framework .NET de 4.6 a 4.6.1.
Los proveedores de almacenamiento de claves del sistema tienen prioridad sobre los proveedores registrados en una conexión o comando a partir de la versión 3.0. Cambia el nombre a un proveedor personalizado si su nombre entra en conflicto con el de un proveedor ya establecido.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 3.0.0 | Junio de 2021 | Versión de disponibilidad general. |
| 3.0.1 | Septiembre de 2021 | Se corrigieron las aperturas bloqueantes de conexiones de Microsoft Entra, el estado de promoción de transacciones, el cifrado obligatorio, la recursión en los reintentos, los interbloqueos y las conexiones inutilizables. |
2.1
La versión 2.1 alcanzó disponibilidad general en noviembre de 2020. El parche final fue la 2.1.7, lanzado en enero de 2024.
- Extendido Siempre Cifrado a plataformas .NET Standard 2.0 compatibles.
- Se añadió compatibilidad con enclaves seguros en Unix para .NET Core y en todas las plataformas compatibles con .NET Standard 2.1.
- Añadimos y gestionamos
Active Directory Device Code Flowla autenticación de identidad. - Se añadieron ganchos de personalización para autenticación interactiva y de código de dispositivo.
- Se añadieron metadatos de rango de clasificación de sensibilidad.
- Se agregó
SqlConnection.ServerProcessId. - He añadido la
Command Timeoutopción de conexión como predeterminada para los comandos creados por una conexión. - La versión 2.1.7 corrigió la vía de degradación del cifrado CVE-2024-0056.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 2.1.0 | Noviembre de 2020 | Versión de disponibilidad general. |
| 2.1.1 | Diciembre de 2020 | Se corrigió la identidad administrada asignada por el sistema en Azure Functions, Kerberos de Unix y keep-alive de TCP. |
| 2.1.2 | Marzo de 2021 | Se corrigieron las instancias con nombre de Unix, los resultados incorrectos por tiempo de espera, el procesamiento no seguro de DTD, los SPN de Kerberos, las dependencias de caché ausentes, el seguimiento y las cabeceras MARS. |
| 2.1.3 | Mayo de 2021 | Se evitó la corrupción de datos de transacciones con conjuntos de resultados abiertos y se corrigió una condición de carrera entre SinglePhaseCommit y TransactionEnded. |
| 2.1.4 | Septiembre de 2021 | Conexiones aseguradas fallan cuando se requiere cifrado y conexiones fijas entran en un estado inutilizable. |
| 2.1.5 | Agosto de 2022 | Se añadió la validación de la longitud de los procedimientos almacenados CommandText y se corrigió la autenticación de Kerberos de .NET 6 y SqlTypeWorkarounds. |
| 2.1.6 | abril de 2023 | Se corrigieron fallos de TDS RPC de gran consulta en SqlCommand.ExecuteReaderAsync, conflictos de clasificación por defecto en UTF-8 y bloqueos de envío de atención. |
| 2.1.7 | Enero de 2024 | Se ha corregido la CVE-2024-0056 y la validación de cadenas de certificados. |
2.0
La versión 2.0 alcanzó disponibilidad general en junio de 2020. El parche final fue la 2.0.1, lanzado en agosto de 2020.
- Se añadió la autenticación
Active Directory InteractiveyActive Directory Integrateden .NET Core y .NET Standard. - Se ha añadido autenticación
Active Directory Service Principal. - Se añadió
Microsoft.Data.SqlClient.EventSourceseguimiento. - Se añadió keep-alive de TCP multiplataforma y una implementación administrada de red opcional en Windows para pruebas y depuración. La ruta gestionada no admitía la autenticación de Windows que no pertenecía a un dominio.
- Añadí
SqlBulkCopy.RowsCopiedy pedí pistas en copia masiva. - Se agregó
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Se añadió soporte para Windows ARM a través de la
Microsoft.Data.SqlClient.SNI.runtimedependencia. - Comenzó a validar el certificado del servidor cuando un servidor fuerza el cifrado, incluso cuando la cadena de conexión establece
Encrypt=false. Las conexiones pueden fallar tras esta actualización si el certificado no es confiable o su nombre no coincide con el servidor. - Cambié la gestión de escala de parámetros decimales para usar redondeos compatibles con SQL Server.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 2.0.0 | Junio de 2020 | Versión de disponibilidad general. |
| 2.0.1 | Agosto de 2020 | Se añadió una configuración de autenticación compatible con la coexistencia y se corrigieron los errores de expiración de tokens agrupados, manejo de fallos transitorios, caché de enclave y errores nativos de preinicio de sesión SNI. |
1.1
La versión 1.1 alcanzó disponibilidad general en noviembre de 2019. El parche final fue la 1.1.4, lanzado en marzo de 2021.
- Se añadió Always Encrypted con enclaves seguros en las plataformas de destino compatibles de .NET Framework y .NET Core.
- Se ha agregado la expansión de
|DataDirectory|enAttachDBFilenameen .NET Core. - Lecturas asíncronas mejoradas con caché multipaquete del búfer de destino.
- Se ha reducido la sobrecarga de las instantáneas en
TdsParserStateObjectySqlDataReader. - Se corrigieron errores de encabezado del estado de tiempo de espera y de Multiple Active Result Sets (MARS) en parches posteriores.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 1.1.0 | Noviembre de 2019 | Versión de disponibilidad general. |
| 1.1.1 | Febrero de 2020 | Se revirtieron cambios asíncronos SNIPacket que causaban bloqueos y corrigieron el rango de dependencia SNI. |
| 1.1.2 | Abril de 2020 | Se añadieron nombres de usuario para la autenticación interactiva de Active Directory y se corrigieron la persistencia de contraseñas y los encabezados TDS de MARS. |
| 1.1.3 | Mayo de 2020 | Se evitó que las transacciones abortadas asociaran conexiones agrupadas y se revirtió la corrección regresiva del encabezado MARS. |
| 1.1.4 | Marzo de 2021 | Se corrigieron los resultados incorrectos del estado de tiempo de espera y los errores del encabezado MARS en .NET Framework 4.8 y versiones posteriores. |
1.0
Microsoft. Data.SqlClient 1.0 alcanzó disponibilidad general en agosto de 2019. El parche final fue 1.0.19269.1, lanzado en septiembre de 2019.
- Se introdujo el proveedor
Microsoft.Data.SqlClientdistribuido por separado. - Era compatible con .NET Framework 4.6 y versiones posteriores, .NET Core 2.1 y versiones posteriores, y .NET Standard 2.0.
- Se añadió la autenticación
Active Directory Interactiveen .NET Framework. - Se agregó la autenticación
Active Directory Passworden .NET Core. - Se añadieron metadatos de clasificación de sensibilidad de datos en
SqlDataReader. - Se ha añadido soporte para la clasificación UTF-8 de SQL Server 2019.
- Se agregó compatibilidad con Always Encrypted en .NET Core.
Lanzamientos
| Versión | Publicado | Cambios relevantes para el cliente |
|---|---|---|
| 1.0.19239.1 | Agosto de 2019 | Versión de disponibilidad general. Reutilización fija de conexiones tras fallos de transacciones, publicación de SNI, manejo invariante a la globalización y ampliación nula de copia masiva. |
| 1.0.19249.1 | Septiembre de 2019 | Se corrigieron las lecturas de datos multipaquete de gran tamaño en Unix. |
| 1.0.19269.1 | Septiembre de 2019 | Se ha restaurado SqlCommand.StatementCompleted, se ha añadido el SqlConnectionStringBuilder.Authentication que faltaba y se ha revertido un cambio incompatible en la API SqlAuthenticationParameters.Resource. |
Para una aplicación que se mueve del proveedor antiguo, usa Migrar de System.Data.SqlClient a Microsoft. Data.SqlClient en lugar de leer solo las notas de versión.
Notas opcionales de lanzamiento del paquete
Los paquetes opcionales tienen sus propias notas de lanzamiento. A partir de la versión 7.0.2, se distribuyen en la misma versión que el controlador principal.
| Package | Notas de lanzamiento |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Notas de versión de la extensión Azure |
Microsoft.Data.SqlClient.Extensions.Abstractions |
Notas de la versión de abstracciones de extensiones |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Notas de la versión de Azure Key Vault Provider |
No hagas referencia a Microsoft.Data.SqlClient.Internal.Logging directamente. Es una dependencia interna compartida por los paquetes de controladores.
Evalúa una actualización
- Identifica cada controlador y cada versión opcional del paquete utilizada directa o de forma transitiva.
- Lee las notas de lanzamiento de todas las versiones menores y mayores que se crucen con la actualización.
- Comprueba el ciclo de vida de soporte del controlador SqlClient para consultar el marco de destino y la compatibilidad de la base de datos.
- Actualiza todos los paquetes relacionados a versiones compatibles.
- Compila y prueba la autenticación, cifrado, agrupación de conexiones, parámetros, transacciones, intentos, diagnósticos y salida de despliegue de la aplicación.
Para comandos de instalación y despliegue, consulte Instalar, actualizar y desplegar Microsoft. Data.SqlClient.