Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Microsoft. Data.SqlClient é lançado independentemente do .NET. Este artigo resume as características significativas, mudanças de comportamento e mudanças de compatibilidade em cada linha de lançamento. As tabelas de lançamento incluem todas as publicações de pacotes estáveis, incluindo cada hotfix e pacote não listado. Para cada atualização de correção e dependência, veja as notas completas de lançamento no repositório SqlClient.
Versões atuais
| Linha de lançamento | Última versão | Data de lançamento | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | Setembro de 2026 | Suporte Padrão de Prazo (STS) |
| 6.1 | 6.1.7 | Setembro de 2026 | LTS (suporte de longo prazo) |
| 7.1 Prévia | 7.1.0-prévia 3.26238.4 | Agosto de 2026 | Preview |
Não use versões de pré-visualização em produção. APIs e comportamentos de pré-visualização podem mudar antes da Disponibilidade Geral (GA).
Tabelas de lançamento e resumos de disponibilidade geral utilizam o mês de publicação do NuGet. O artigo sobre o ciclo de vida lista datas oficiais de lançamento, que podem variar. Para janelas de suporte, veja ciclo de vida do suporte ao driver SqlClient.
7.1 Prévia
A linha de pré-visualização 7.1 estende APIs de batching, descoberta de esquemas, pooling de conexões e Always Crypted. As mudanças até a 7.1.0-preview3 incluem:
-
SqlBatchsuporte no .NET Framework. - Sobrecargas assíncronas
SqlConnection.GetSchemaAsync. - Aliases de string de conexão como
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSize, eWorkstationId. - Pseudo-colunas de grafos SQL para
$node_id,$edge_id,$from_id, e$to_idemSqlBulkCopy. - Aplicação de tempo de espera de conexão de inatividade por opt-in.
- Um modo de tempo de espera de conexão opt-in que inclui o tempo gasto esperando por uma conexão em pool.
- Desenvolvimento adicional do pool experimental de conexão baseado em canais.
- Métodos assíncronos em provedores de armazenamento de chaves Always Crypted. O driver ainda não chama esses métodos durante a execução do comando, então eles não tornam as operações Always Encrypted existentes assíncronas.
SqlBatchCommand.CommandBehavior é homenageado a partir desta linha. Versões anteriores ignoravam a propriedade. A opção de conexão obsoleta Type System Version=SQL Server 2000 agora gera um ArgumentException.
O Preview3 também altera a validação de certificados e enclaves.
ServerCertificate sempre compara o arquivo de certificado configurado com o certificado apresentado pelo servidor. Um arquivo inválido ou ilegível agora falha na conexão em vez de recorrer à validação do nome do host. A atestação do enclave Virtual Secure Mode (VSM) e do Host Guardian Service (HGS) agora verifica se a chave pública do enclave está vinculada ao relatório de atestação assinado. Reteste esses caminhos quando você sair de uma prévia anterior.
Leia as notas de lançamento para a prévia 1, prévia 2 e prévia 3 antes de testar essa linha.
7.0 STS
A versão 7.0 chegou à disponibilidade geral em março de 2026. É a linha STS atual.
Características e mudanças
- A autenticação Microsoft Entra fornecida por driver foi transferida do pacote principal para
Microsoft.Data.SqlClient.Extensions.Azureo arquivo . Adicione o pacote de extensão quando usar umActive Directorymodo de autenticação. - O pacote principal não depende mais de
Azure.Core,Azure.Identity, ou da Biblioteca do Microsoft Authenticator (MSAL). -
SqlConnection.SspiContextProvidersuporta negociação personalizada de Kerberos e tokens NTLM. A identidade do provedor faz parte da chave do pool de conexão. - Roteamento aprimorado para SQL do Azure Hyperscale e réplicas de leitura nomeadas são negociados automaticamente.
- Eventos de comando, conexão e diagnóstico de transações fortemente tipados estão disponíveis no .NET Framework e no .NET atual.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsexpõe a lista padrão de erros transitórios do driver. -
Active Directory PasswordA autenticação está obsoleta. Use autenticação interativa para aplicações de usuário, autenticação do principal de serviço para serviços ou identidade gerenciada para cargas de trabalho hospedadas no Azure. - O suporte ao alvo começa no .NET Framework 4.6.2 e .NET 8. O driver também suporta a construção e execução em .NET 10.
A multiplexação de pacotes para leituras assíncronas permanece como funcionalidade de pré-visualização e é opt-in na versão 7.0. Teste switches de compatibilidade com cargas de trabalho de produção e mantenha um caminho de rollback.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 7.0.0 | Março de 2026 | Liberação de disponibilidade geral. |
| 7.0.1 | Abril de 2026 | Consultas de metadados fixas SqlBulkCopy para SQL Server 2016 e Azure Synapse Analytics SQL dedicados, corrigiram metadados de campos vetoriais, adicionaram a dependência ausente do .NET Framework System.Data.Common e adicionaram encaminhamento de tipos para abstrações de autenticação. |
| 7.0.2 | Junho de 2026 | Alinhou o driver central e os pacotes companheiros, endureceu a análise de tokens TDS, corrigiu o tratamento do cache de verificação de assinatura Always Encrypted e corrigiu erros no cancelamento, no null-buffer GetBytes e GetChars nas chamadas. |
| 7.0.3 | Setembro de 2026 | Atualizei o SNI para a 6.0.3. Corrigiu uma SqlBulkCopy regressão para logins que não conseguem ler sys.all_columns, uma regressão de alocação de memória quando o rastreamento está desativado, ServerCertificate validação em SNI gerenciado, verificação de chave de atestação Always Encrypted enclave e retentativa configurável registrando um handler de resolução assembly em todo o processo. |
Importante
A partir da 7.0.2, alinhe as referências diretas a Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, e Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Seja Microsoft.Data.SqlClient.Internal.Logging resolvido transitivamente. No .NET Framework, as versões assembly de Extensions.Azure, , e Internal.Logging mudaram de 1.0.0.0 para 7.0.0.0Extensions.Abstractions. Reconstrua a aplicação ou adicione redirecionamentos de vinculação quando atualizar esses pacotes.
6.1 LTS
A versão 6.1.0 foi lançada em julho de 2025, mas depois foi retirada da lista devido a regressões críticas. A versão 6.1.1, lançada em agosto de 2025, estabeleceu a linha 6.1 LTS suportada.
Características e mudanças
- Transporte vetorial nativo do SQL Server 2025 até
SqlVector<T>, inicialmente para vetores de ponto flutuante de precisão simples. - Um recurso de referência .NET Standard 2.0 para compatibilidade com bibliotecas. Esse ativo não é uma implementação em tempo de execução. Aplicações executáveis devem usar um ativo de runtime suportado do Framework .NET ou .NET.
- A multiplexação de pacotes opt-in funciona para grandes leituras assíncronas e tratamento de endpoints para banco de dados SQL no Microsoft Fabric.
- Suporte aprimorado para compilação nativa Ahead-of-Time (AOT).
- Redução das alocações nos caminhos de conexão e processamento TDS.
- A base interna para a extensibilidade do Public Security Support Provider Interface (SSPI) foi adicionada na versão 7.0.
Não implante a versão 6.1.0. A versão 6.1.1 reverteu as alterações afetadas na detecção de pacotes e na reprodução.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 6.1.0 | Julho de 2025 | Liberação de disponibilidade geral. Esse pacote foi deslistado devido a regressões críticas. Não a utilize. |
| 6.1.1 | Agosto de 2025 | Reverteram as mudanças na detecção parcial, correção e reprodução de pacotes da 6.1.0. Conjuntos de referência vetorial corrigidos e SqlVector<T>.Null. |
| 6.1.2 | Outubro de 2025 | Corrigiu a inicialização antecipada do contador de desempenho, a substituição de provedores de autenticação personalizados e a concorrência do pool que impediam o uso do tamanho máximo do pool configurado. |
| 6.1.3 | Novembro de 2025 | Adicionado IgnoreServerProvidedFailoverPartner para Grupos de Disponibilidade Básica e portas personalizadas. Fixou a inicialização inicial das métricas EventSource. |
| 6.1.4 | Janeiro de 2026 | Adicionado EnableMultiSubnetFailoverByDefault. Corrigir SqlDataAdapter falhas em lote e contagens negativas de conexões ativas em métricas de pool. |
| 6.1.5 | Abril de 2026 | Foram removidos trabalhos desnecessários de Nome Principal de Serviço (SPN) e Sistema de Nomes de Domínio (DNS) para autenticação não integrada, propagação ExecuteScalar de erros de servidor retornados após dados e corrigidos tipos de metadados vetoriais. |
| 6.1.6 | Junho de 2026 | Adicionou suporte opcional para corretores do Gerenciador de Contas Web do Windows (WAM), análise reforçada de tokens TDS, corrigida falhas de assinatura mestra de colunas em cache e validação de argumentos corrigidaGetChars. |
| 6.1.7 | Setembro de 2026 | Atualizei o SNI para a 6.0.3. Validação corrigida ServerCertificate no SNI gerenciado, verificação da chave de atestação do enclave Always Crypted, AccessTokenCallback comportamento de retentativa de conexão e retentativa configurável registrando um handler de resolução de montagem em todo o processo. |
Linhas de lançamento anteriores
As seguintes linhas de lançamento não são mais suportadas. Use os resumos deles quando planejar um upgrade em várias versões de drivers.
6.0
A versão 6.0 chegou à disponibilidade geral em janeiro de 2025. O patch final foi 6.0.5, lançado em janeiro de 2026.
- Adicionou suporte nativo a SQL Server JSON por meio de
Microsoft.Data.SqlTypes.SqlJson, incluindo caminhos de leitura, escrita, streaming e cópia em massa. - Adicionaram payloads diagnósticos públicos e fortemente tipados para eventos de comando, conexão e transação.
- Adicionado
OpenAsync(SqlConnectionOverrides, CancellationToken), incluindoOpenWithoutRetry. - Adicionei
DateOnlysuporteTimeOnlyeDataTableSqlDataRecordestruturaram parâmetros. - Adicionei suporte ao .NET 9.
- Eliminei os ativos de runtime .NET Standard e .NET 6. Os alvos suportados passaram a ser o .NET Framework 4.6.2 e versões posteriores, além do .NET 8 e versões posteriores.
- Restrito
EnableOptimizedParameterBindinga comandos de texto.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 6.0.0 | Janeiro de 2025 | Liberação de disponibilidade geral. Esse pacote não está listado no NuGet, e as notas a montante não documentam um motivo. |
| 6.0.1 | Janeiro de 2025 | APIs de referência corrigidas SqlClientDiagnostic , avisos TLS de nível inferior e dependências. |
| 6.0.2 | Abril de 2025 | Corrigiram possíveis falhas nulas de socket-receiver, SqlJson APIs de referência, parâmetros de saída JSON e dependências. |
| 6.0.3 | Outubro de 2025 | Impediu a substituição de provedores de autenticação personalizados e a concorrência fixa do pool que subutilizava Max Pool Size. |
| 6.0.4 | Novembro de 2025 | Adicionado Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner para Grupos de Disponibilidade Básica que usam portas TCP personalizadas. |
| 6.0.5 | Janeiro de 2026 | Corrigi SqlDataAdapter o tratamento nulo do RPC em lote, adicionei Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefaulte atualizei dependências. |
5.2
A versão 5.2 chegou à disponibilidade geral em fevereiro de 2024. O patch final foi 5.2.3, lançado em abril de 2025.
- Adicionado
SqlConnection.AccessTokenCallbackpara aquisição de tokens assíncrona e compatível com pool. - Adicionado
SqlBatcheSqlBatchCommanddisponível no .NET 6 e versões posteriores. - Adicionei
SqlDiagnosticListenersuporte ao .NET Standard. - Adicionei 64 bits
SqlBulkCopy.RowsCopied64. A propriedade mais antigaRowsCopiedpermanece um inteiro de 32 bits. - Adicionei
Active Directory Workload Identityautenticação. - Adicionei suporte a .NET 8 e plataforma big-endian.
- Mudado
UseOneSecFloorInTimeoutCalculationDuringLoginpara o padrão paratrue. - Usado
NegotiateAuthenticationpara SSPI gerenciado no .NET 7 e versões posteriores.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 5.2.0 | Fevereiro de 2024 | Liberação de disponibilidade geral. |
| 5.2.1 | Maio de 2024 | Conexões de instâncias nomeadas do Linux fixas com portas, FireInfoMessageEventOnUserErrors, datatimeoffset(n) parâmetros de valores de tabela, delayed OpenAsync, e AccessTokenCallback preservação por SqlConnection.Clone(). |
| 5.2.2 | Agosto de 2024 | Timeouts fixos de token, conexões SNI socket gerenciadas, segmentação de assembly, tentativas SSPI, leituras de tipos definidas pelo usuário e dados de leitores criptografados. Pacotes de identidade atualizados para CVE-2024-35255. |
| 5.2.3 | Abril de 2025 | Corrigiu possíveis falhas nulas no socket-receive e inconsistências no conjunto de referência, permitiu números de erro transitórios negativos e atualizou dependências. |
5.1
A versão 5.1 chegou à disponibilidade geral em janeiro de 2023. O patch final foi a 5.1.9, lançada em janeiro de 2026.
- Adicionei suporte ao .NET 6 e eliminei o .NET Core 3.1.
- Adicionado
DateOnlyeTimeOnlysuporte para valores de parâmetros eGetFieldValue. - Adicionei TLS 1.3 em .NET e caminhos nativos do SQL Server Network Interface (SNI).
- Adicionado
ServerCertificatepara correspondência exata de certificados comEncrypt=MandatoryeEncrypt=Strict. - Adicionei suporte ao Windows ARM64 para o .NET Framework.
- Tornou o
SqlConnectionEncryptOptionparser de strings público. - A versão 5.1.3 corrigiu o caminho de downgrade de criptografia CVE-2024-0056 e a validação da cadeia de certificados.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 5.1.0 | Janeiro de 2023 | Liberação de disponibilidade geral. |
| 5.1.1 | Março de 2023 | Corrigido o relatório de erros Always Crypted, transações em modo redirecionamento, limitação de tokens, falhas de TDS RPC de grande consulta e GetBytesAsync tratamento nulo. |
| 5.1.2 | Outubro de 2023 | Corrigi instâncias de usuário SQL Express, tentativas de enclave, LocalDB, valores de construtor de strings de conexão, SqlConnectionEncryptOption conversão de configuração e OpenAsync falhas transitórias. |
| 5.1.3 | Janeiro de 2024 | Corrigido CVE-2024-0056 e validação da cadeia de certificados. |
| 5.1.4 | Janeiro de 2024 | Corrigido um deadlock de transações distribuídas .NET e atualizado Azure.Identity para CVE-2023-36414. |
| 5.1.5 | Janeiro de 2024 | Limpeza de transações corrigida antes do pooling e falhas de conversão de data e hora do Always Crypted. Dependências atualizadas do IdentityModel para CVE-2024-21319. |
| 5.1.6 | Agosto de 2024 | Corrigido OpenAsync, com tempo de espera de autenticação e falhas de dados pendentes de leitores criptografados. Dependências de identidade atualizadas para CVE-2024-35255 e instâncias em TokenCredential cache. |
| 5.1.7 | Abril de 2025 | Corrigido uma possível falha nula de recebimento de socket, alinhado os conjuntos de fonte e referência e atualizado as dependências. |
| 5.1.8 | Novembro de 2025 | Adicionado Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, corrigido o tratamento de marcas de ordem UTF-8 bytes em cópias em massa, modernizado a criação de MSAL e atualizado as dependências. |
| 5.1.9 | Janeiro de 2026 | Mudei SqlStatistics o tempo para Environment.TickCount e atualizei dependências específicas do framework. |
5.0
A versão 5.0 chegou à disponibilidade geral em agosto de 2022. O patch final foi a versão 5.0.2, lançada em março de 2023.
- Adicionados TDS 8.0 até
Encrypt=Strict. O modo estrito inicia o TLS antes da troca de login do TDS e sempre valida o certificado do servidor. - Mudou
SqlConnectionStringBuilder.EncryptdeboolparaSqlConnectionEncryptOption. - Movi os tipos de execução da linguagem comum (CLR) do SQL Server para o pacote versionado
Microsoft.SqlServer.Serverseparadamente. - Adicionei
Server SPNeFailover Server SPNadicionei opções de conexão. - Adicionado suporte a Windows SQL Server alias no .NET atual.
- Adicionado
SqlDataSourceEnumeratorno Windows. - Abandonei o .NET Framework 4.6.1.
Importante
A SqlConnectionStringBuilder.Encrypt mudança de tipo é quebra binária. Tipos removidos de Microsoft.Data.SqlClient.Server também exigem alterações de fonte para usar Microsoft.SqlServer.Server. Recompile aplicações e bibliotecas, atualize namespaces e verifique conflitos de namespace quando System.Data.SqlClient permanecer referenciado.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 5.0.0 | Agosto de 2022 | Liberação de disponibilidade geral. |
| 5.0.1 | Outubro de 2022 | Restaurado HostNameInCertificate no .NET Framework e corrigido bloqueios de atenção, SqlConnectionStringBuilder.Encryptregistro de cancelamento, bloqueios gerenciados do SNI, colação do UTF-8 e um travamento no domínio da aplicação do SNI. |
| 5.0.2 | Março de 2023 | Corrigido vazamento de memória de leitura assíncrona, modo TransactionScopede redirecionamento, erros de Sempre Criptografado, falhas de TDS RPC de grande consulta e bloqueios de transações distribuídas. |
4.1
A versão 4.1 chegou à disponibilidade geral em janeiro de 2022. O patch final foi 4.1.1, lançado em setembro de 2022.
- Adicionado
Attestation Protocol=Nonepara enclaves de Segurança Baseada em Virtualização (VBS). - Solicitações do Protocolo de Resolução SQL Server Paralelizada no Linux e macOS quando
MultiSubnetFailoverativadas. - Verificações fixas de lista de revogação de certificados durante a autenticação.
- Corrigiram a autenticação do Microsoft Entra, valores nulos
SqlBinarye rowversion, e o comportamento de colação do UTF-8.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 4.1.0 | Janeiro de 2022 | Liberação de disponibilidade geral. |
| 4.1.1 | Setembro de 2022 | Corrigiram falhas na lista de revogação de certificados, paralelizaram solicitações do SQL Server Resolution Protocol para MultiSubnetFailover, e corrigiram falhas de autenticação Microsoft Entra, rowversion, UTF-8 e SNI no domínio de aplicação. |
4.0
A versão 4.0 entrou em disponibilidade geral em novembro de 2021. O patch final foi 4.0.6, lançado em agosto de 2024.
- Alterou o valor padrão de
Encryptde parafalsetrue. - Adicionado
SqlCommand.EnableOptimizedParameterBindingpara comandos com muitos parâmetros. - Adicionado
SqlFileStreampara Windows através da implementação do .NET Standard. - Adicionado suporte a instâncias compartilhadas de LocalDB no SNI gerenciado.
- Adicionado
GetFieldValue<T>eGetFieldValueAsync<T>paraXmlReader,TextReader, eStream. - Removi o interruptor de segurança da lógica de retentativa configurável. O Retry permaneceu desativado até que um aplicativo configurasse um provedor.
- Mudei as falhas de autenticação do Microsoft Entra para throw
SqlExceptionem vez deAggregateException. - Abandonei o .NET Core 2.1.
- A versão 4.0.5 corrigiu o caminho de downgrade de criptografia CVE-2024-0056 e a validação da cadeia de certificados.
Importante
Como a criptografia é true padrão na versão 4.0 e posteriores, uma atualização pode expor incompatibilidades de confiança de certificados ou nomes de servidor. Não desative a criptografia para contornar esses erros. Instale um certificado de servidor confiável ou configure a validação do certificado para a implantação.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 4.0.0 | Novembro de 2021 | Liberação de disponibilidade geral. |
| 4.0.1 | Janeiro de 2022 | Adicionados SuppressInsecureTLSWarning e corrigidos Kerberos .NET 6, nomes de pipes do LocalDB e consultas de enclave concorrentes. |
| 4.0.2 | Setembro de 2022 | Corrigiram falhas na lista de revogação de certificados, paralelizaram solicitações do SQL Server Resolution Protocol para MultiSubnetFailover, e corrigiram falhas de autenticação Microsoft Entra, rowversion, UTF-8 e SNI no domínio de aplicação. |
| 4.0.3 | Abril de 2023 | Redução da limitação de tokens de contas em cache e falhas de TDS RPC de grande consulta corrigidas. |
| 4.0.4 | Outubro de 2023 | Corrigiram tentativas assíncronas de enclave, LocalDB e SNI gerenciado, versões de arquivos e correlação de atividade de conexão. |
| 4.0.5 | Janeiro de 2024 | Corrigido CVE-2024-0056 e validação da cadeia de certificados. |
| 4.0.6 | Agosto de 2024 | Limpeza fixa de eventos de transação antes do pooling e ActiveDirectoryAuthenticationProvider.AcquireTokenAsync gerenciamento de timeout. |
3.1
A versão 3.1 chegou à disponibilidade geral em março de 2022. O patch final foi 3.1.7, lançado em agosto de 2024.
- Adicionado
Attestation Protocol=Nonepara enclaves VBS. - Adicionados os erros SQL 42108 e 42109 à lista padrão de erros transitórios.
- Adicionado suporte ao Windows ARM64 para .NET Framework na versão 3.1.2.
- Reduziram as repetidas solicitações de tokens Microsoft Entra por meio da aquisição silenciosa de tokens na versão 3.1.3.
- Corrigido o caminho de downgrade de criptografia CVE-2024-0056 na versão 3.1.5.
- Limpeza de transações corrigida antes do pooling e gerenciamento de timeout do token Microsoft Entra na 3.1.7.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 3.1.0 | Março de 2022 | Liberação de disponibilidade geral. |
| 3.1.1 | Agosto de 2022 | Corrigiram valores de rowversion nulaSqlBinary, falhas no Kerberos do .NET 6 e falhas de referência nula na autenticação Microsoft Entra. |
| 3.1.2 | Fevereiro de 2023 | Adicionou suporte ao .NET Framework para Windows ARM64 e corrijo a segurança de threads de lista de retentativas, bloqueios de transações distribuídas, colação UTF-8 e validação de procedimentos armazenados. |
| 3.1.3 | Março de 2023 | Redução da limitação de tokens Microsoft Entra com AcquireTokenSilent resolução e falhas de TDS RPC de grande consulta. |
| 3.1.4 | Outubro de 2023 | Corrigi tentações de enclave assíncrono, LocalDB e backup SNI gerenciado, versões de arquivos, correlação de atividade de conexão e formatação EventSource. |
| 3.1.5 | Janeiro de 2024 | Corrigido CVE-2024-0056 e validação da cadeia de certificados. |
| 3.1.6 | Agosto de 2024 | Esse pacote não estava devidamente assinado e não estava listado. Não existe nenhum arquivo de nota de lançamento a montante. Use a 3.1.7 em vez disso. |
| 3.1.7 | Agosto de 2024 | Limpeza de eventos de transação fixa antes do pooling, tempos de espera de autenticação, assinatura de assembly e um crash do domínio de aplicação SNI. |
3.0
A versão 3.0 chegou à disponibilidade geral em junho de 2021. O patch final foi 3.0.1, lançado em setembro de 2021.
- Adicionada lógica de retentativa configurável para operações de conexão e comando. Na versão 3.0, ele permaneceu como opt-in atrás de
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Adicionados EventCounters para conexão e atividade na piscina.
- Adicionada
Active Directory Defaultautenticação por meioAzure.Identityde . - Adicionou o registro de provedor de armazenamento de chaves Always Encrypted com escopo de conexão e comando.
- Adicionei preferência de endereço IP TCP.
- Alterada a autenticação de identidade gerenciada atribuída pelo usuário para usar o ID do cliente em vez do ID do objeto em
User Id. - Mudei os valores nulos da versão de rowversion do SQL para retornar
DBNullem vez de um array de bytes vazio. Um switch AppContext preservou o comportamento antigo. - Elevei a meta mínima do Framework .NET de 4.6 para 4.6.1.
Provedores de armazenamento de chaves do sistema têm precedência sobre provedores registrados em uma conexão ou comando a partir da versão 3.0. Renomeie um provedor personalizado se seu nome conflitar com o de um provedor embutido.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 3.0.0 | Junho de 2021 | Liberação de disponibilidade geral. |
| 3.0.1 | Setembro de 2021 | Bloqueio correto da abertura da conexão Microsoft Entra, estado de promoção de transação, criptografia necessária, retentativas e bloqueios, e conexões inutilizáveis. |
2.1
A versão 2.1 chegou à disponibilidade geral em novembro de 2020. O patch final foi 2.1.7, lançado em janeiro de 2024.
- Estendido Sempre Criptografado para plataformas .NET Standard 2.0 suportadas.
- Adicionou suporte a enclave seguro no Unix para .NET Core e em plataformas .NET Standard 2.1.
- Adicionei
Active Directory Device Code Flowe gerenciei autenticação de identidade. - Adicionaram ganchos de personalização para autenticação interativa e de código de dispositivo.
- Metadados adicionados de classificação de classificação de sensibilidade.
- Adicionado
SqlConnection.ServerProcessId. - Adicionei a
Command Timeoutopção de conexão como padrão para comandos criados por uma conexão. - A versão 2.1.7 corrigiu o caminho de downgrade de criptografia CVE-2024-0056.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 2.1.0 | Novembro de 2020 | Liberação de disponibilidade geral. |
| 2.1.1 | Dezembro de 2020 | Identidade gerenciada fixa atribuída ao sistema em Azure Functions, Unix Kerberos e TCP keep-alive. |
| 2.1.2 | Março de 2021 | Instâncias nomeadas Unix corrigidas, resultados errados com timeout, processamento DTD inseguro, SPNs Kerberos, dependências de cache ausentes, rastreamento e cabeçalhos MARS. |
| 2.1.3 | Maio de 2021 | Evitou corrupção dos dados de transações com conjuntos de resultados abertos e corrigiu uma SinglePhaseCommit corrida TransactionEnded . |
| 2.1.4 | Setembro de 2021 | Conexões garantidas falham quando a criptografia é necessária e conexões fixas entrando em estado inutilizável. |
| 2.1.5 | Agosto de 2022 | Adicionou validação de comprimento de procedimento CommandText armazenado e corrigiu a autenticação Kerberos do .NET 6 e SqlTypeWorkarounds. |
| 2.1.6 | Abril de 2023 | Corrigiram falhas de RPC de TDS de grande consulta em SqlCommand.ExecuteReaderAsync, conflitos padrão de colação UTF-8 e deadlocks de envio de atenção. |
| 2.1.7 | Janeiro de 2024 | Corrigido CVE-2024-0056 e validação da cadeia de certificados. |
2.0
A versão 2.0 chegou à disponibilidade geral em junho de 2020. O patch final foi a 2.0.1, lançado em agosto de 2020.
- Adicionada e
Active Directory InteractiveautenticaçãoActive Directory Integratedno .NET Core e no .NET Standard. - Adicionei
Active Directory Service Principalautenticação. - Adicionei
Microsoft.Data.SqlClient.EventSourcetraço. - Adicionada a tecla multiplataforma TCP keep-alive e uma implementação de rede gerenciada opt-in no Windows para testes e depuração. O caminho gerenciado não suportava autenticação do Windows não de domínio.
- Adicionei
SqlBulkCopy.RowsCopiede pedi dicas em grande quantidade. - Adicionado
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Adicionei suporte a Windows ARM através da
Microsoft.Data.SqlClient.SNI.runtimedependência. - Começou a validar o certificado do servidor quando um servidor força a criptografia, inclusive quando a cadeia de conexão define
Encrypt=false. As conexões podem falhar após essa atualização se o certificado não for confiável ou se seu nome não corresponder ao servidor. - Mudei o tratamento da escala de parâmetros decimais para usar arredondamento compatível com SQL Server.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 2.0.0 | Junho de 2020 | Liberação de disponibilidade geral. |
| 2.0.1 | Agosto de 2020 | Adicionada configuração de autenticação amigável à coexistência e corrigido o vencimento de tokens em pool, tratamento de falhas transitórias, cache de enclave e erros nativos de SNI pré-login. |
1.1
A versão 1.1 chegou à disponibilidade geral em novembro de 2019. O patch final foi a 1.1.4, lançada em março de 2021.
- Adicionado Always Encrypted com enclaves seguros nos alvos suportados do Framework .NET e do .NET Core.
- Adicionei
|DataDirectory|expansãoAttachDBFilenameno .NET Core. - Leituras assíncronas aprimoradas com cache de alvo e buffer multipacotil.
- Redução da sobrecarga de snapshots em
TdsParserStateObjecteSqlDataReader. - Erros de cabeçalho no estado de timeout e Múltiplos Conjuntos de Resultados Ativos (MARS) corrigidos em patches posteriores.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 1.1.0 | Novembro de 2019 | Liberação de disponibilidade geral. |
| 1.1.1 | Fevereiro de 2020 | Reverteram mudanças assíncronas SNIPacket que causavam deadlocks e corrigiram a faixa de dependência do SNI. |
| 1.1.2 | Abril de 2020 | Adicionados nomes de usuário para Active Directory Interactive Authentication e persistência fixa de senha e cabeçalhos MARS TDS. |
| 1.1.3 | Maio de 2020 | Impediu transações abortadas de registrar conexões agrupadas e reverteu a correção regressiva do cabeçalho MARS. |
| 1.1.4 | Março de 2021 | Resultados errados de timeout e erros no cabeçalho MARS corrigidos no .NET Framework 4.8 e versões posteriores. |
1.0
Microsoft. Data.SqlClient 1.0 atingiu disponibilidade geral em agosto de 2019. O patch final foi 1.0.19269.1, lançado em setembro de 2019.
- Introduzimos o provedor enviado
Microsoft.Data.SqlClientseparadamente. - Suportava o .NET Framework 4.6 e versões posteriores, .NET Core 2.1 e versões posteriores, e o .NET Standard 2.0.
- Adicionada
Active Directory Interactiveautenticação no .NET Framework. - Adicionada
Active Directory Passwordautenticação no .NET Core. - Metadados de classificação de sensibilidade de dados adicionados em
SqlDataReader. - Adicionado suporte à coletão do SQL Server 2019 UTF-8.
- Adicionado suporte a Always Encrypted no núcleo .NET.
Lançamentos
| Versão | Lançado | Mudanças relevantes para o cliente |
|---|---|---|
| 1.0.19239.1 | Agosto de 2019 | Liberação de disponibilidade geral. Reutilização fixa de conexão após falhas de transação, publicação SNI, tratamento invariante à globalização e ampliamento nulo de cópias em massa. |
| 1.0.19249.1 | Setembro de 2019 | Corrigi leituras de dados multipacotes grandes no Unix. |
| 1.0.19269.1 | Setembro de 2019 | Restaurei SqlCommand.StatementCompleted, adicionei o que faltava SqlConnectionStringBuilder.Authenticatione reverteu uma SqlAuthenticationParameters.Resource alteração incompatível na API. |
Para uma aplicação migrando do provedor antigo, use Migrar do System.Data.SqlClient para a Microsoft. Data.SqlClient em vez de ler apenas as notas de versão.
Notas opcionais de lançamento do pacote
Pacotes opcionais têm suas próprias notas de lançamento. A partir da versão 7.0.2, eles são lançados alinhados com a versão com o driver principal.
| Package | Notas de lançamento |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Notas de lançamento da extensão Azure |
Microsoft.Data.SqlClient.Extensions.Abstractions |
Abstrações de extensões notas de lançamento |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Azure Key Vault Provider release notes |
Não consulte Microsoft.Data.SqlClient.Internal.Logging diretamente. É uma dependência interna compartilhada pelos pacotes de drivers.
Avalie uma atualização
- Identifique cada driver e cada versão opcional do pacote usada direta ou transitivamente.
- Leia as notas de lançamento de todas as versões menores e maiores cruzadas pela atualização.
- Verifique o ciclo de vida do suporte ao driver SqlClient para compatibilidade com o framework alvo e banco de dados.
- Atualize todos os pacotes relacionados para versões compatíveis.
- Construa e teste a autenticação da aplicação, criptografia, pooling de conexões, parâmetros, transações, tentativas, diagnósticos e saída de implantação.
Para comandos de instalação e implantação, veja Instalar, atualizar e implantar Microsoft. Data.SqlClient.