O que há de novo na Microsoft. Data.SqlClient

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, e WorkstationId.
  • Pseudo-colunas de grafos SQL para $node_id, $edge_id, $from_id, e $to_id em SqlBulkCopy.
  • 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 um Active Directory modo de autenticação.
  • O pacote principal não depende mais de Azure.Core, Azure.Identity, ou da Biblioteca do Microsoft Authenticator (MSAL).
  • SqlConnection.SspiContextProvider suporta 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.BaselineTransientErrors expõe a lista padrão de erros transitórios do driver.
  • Active Directory Password A 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), incluindo OpenWithoutRetry.
  • Adicionei DateOnly suporte TimeOnly e DataTableSqlDataRecord estruturaram 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 EnableOptimizedParameterBinding a 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.AccessTokenCallback para aquisição de tokens assíncrona e compatível com pool.
  • Adicionado SqlBatch e SqlBatchCommand disponível no .NET 6 e versões posteriores.
  • Adicionei SqlDiagnosticListener suporte ao .NET Standard.
  • Adicionei 64 bits SqlBulkCopy.RowsCopied64. A propriedade mais antiga RowsCopied permanece um inteiro de 32 bits.
  • Adicionei Active Directory Workload Identity autenticação.
  • Adicionei suporte a .NET 8 e plataforma big-endian.
  • Mudado UseOneSecFloorInTimeoutCalculationDuringLogin para o padrão para true.
  • Usado NegotiateAuthentication para 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 DateOnly e TimeOnly suporte para valores de parâmetros e GetFieldValue.
  • Adicionei TLS 1.3 em .NET e caminhos nativos do SQL Server Network Interface (SNI).
  • Adicionado ServerCertificate para correspondência exata de certificados com Encrypt=Mandatory e Encrypt=Strict.
  • Adicionei suporte ao Windows ARM64 para o .NET Framework.
  • Tornou o SqlConnectionEncryptOption parser 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.Encrypt de bool para SqlConnectionEncryptOption.
  • Movi os tipos de execução da linguagem comum (CLR) do SQL Server para o pacote versionado Microsoft.SqlServer.Server separadamente.
  • Adicionei Server SPN e Failover Server SPN adicionei opções de conexão.
  • Adicionado suporte a Windows SQL Server alias no .NET atual.
  • Adicionado SqlDataSourceEnumerator no 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=None para enclaves de Segurança Baseada em Virtualização (VBS).
  • Solicitações do Protocolo de Resolução SQL Server Paralelizada no Linux e macOS quando MultiSubnetFailover ativadas.
  • Verificações fixas de lista de revogação de certificados durante a autenticação.
  • Corrigiram a autenticação do Microsoft Entra, valores nulos SqlBinary e 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 Encrypt de para falsetrue.
  • Adicionado SqlCommand.EnableOptimizedParameterBinding para comandos com muitos parâmetros.
  • Adicionado SqlFileStream para Windows através da implementação do .NET Standard.
  • Adicionado suporte a instâncias compartilhadas de LocalDB no SNI gerenciado.
  • Adicionado GetFieldValue<T> e GetFieldValueAsync<T> para XmlReader, TextReader, e Stream.
  • 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 SqlException em vez de AggregateException.
  • 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=None para 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 Default autenticação por meio Azure.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 DBNull em 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 Flow e 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 Timeout opçã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 Interactive autenticação Active Directory Integrated no .NET Core e no .NET Standard.
  • Adicionei Active Directory Service Principal autenticação.
  • Adicionei Microsoft.Data.SqlClient.EventSource traç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.RowsCopied e pedi dicas em grande quantidade.
  • Adicionado SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry).
  • Adicionei suporte a Windows ARM através da Microsoft.Data.SqlClient.SNI.runtime dependê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ão AttachDBFilename no .NET Core.
  • Leituras assíncronas aprimoradas com cache de alvo e buffer multipacotil.
  • Redução da sobrecarga de snapshots em TdsParserStateObject e SqlDataReader.
  • 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.SqlClient separadamente.
  • 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 Interactive autenticação no .NET Framework.
  • Adicionada Active Directory Password autenticaçã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

  1. Identifique cada driver e cada versão opcional do pacote usada direta ou transitivamente.
  2. Leia as notas de lançamento de todas as versões menores e maiores cruzadas pela atualização.
  3. Verifique o ciclo de vida do suporte ao driver SqlClient para compatibilidade com o framework alvo e banco de dados.
  4. Atualize todos os pacotes relacionados para versões compatíveis.
  5. 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.