Notas sobre a versão do Microsoft JDBC Driver para SQL Server

Este artigo lista as versões do Microsoft JDBC Driver para SQL Server. As alterações são nomeadas e descritas para cada versão de lançamento.

12.6

Baixar o Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.6.1 para SQL Server (tar.gz)

Número da versão: 12.6.1
Lançamento: 20 de fevereiro de 2024

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 12.6

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 12.6. GitHub, 12.6.0
Maven Central
Totalmente em conformidade com a Especificação de API 4.2 do JDBC. Os JARS no pacote 12.6 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-12.6.0.jre11.jar do pacote 12.6 deve ser usado com o Java 11 (ou posterior).
Compatível com o Java Development Kit (JDK) versões 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.6 para SQL Server já é compatível com o Java Development Kit (JDK) versão 21.0, além do JDK 17.0, 11.0 e 1.8.

Versões 12.6

Número da versão: 12.6.1
Lançamento: 20 de fevereiro de 2024

Problemas corrigidos na versão 12.6.1:

  • Corrigida a sintaxe de escape de "EXEC" para CallableStatements

Baixar o Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.6.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 12.6.0
Lançado: 31 de janeiro de 2024

Baixar o Microsoft JDBC Driver 12.6.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.6.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos na versão 12.6

Recurso Detalhes
Compatível com Java 21 O driver agora é compatível com o Java Development Kit (JDK) versão 21.0, além do JDK 17.0, 11.0 e 1.8.
Permitir a chamada de procedimentos armazenados diretamente usando a nova propriedade de conexão useFlexibleCallableStatements O driver agora chama os procedimentos de armazenamento diretamente, sem encapsulamento de exec sp_executesql do procedimento, simplificando e melhorando o desempenho do procedimento.
Adicionada a propriedade cadeia de conexão useDefaultJaasConfig Caso seja definido como true, permite a autenticação Kerberos sem configuração externa adicional.
Adicionada a propriedade cadeia de conexão useDefaultGSSCredential Caso seja definido como true, permite que o driver crie a GSSCredential em nome do usuário ao usar a GSS-API nativa para autenticação Kerberos.
Adicionada a propriedade cadeia de conexão calcBigDecimalPrecision Quando definido como true, permite que o driver calcule a precisão de entradas BigDecimal.
Adicionados novos agentes nomeados para novas tentativas de conexão aberta e reconexões de resiliência de conexão ociosa As novas tentativas de conexão aberta usam a categoria de registro em log de Redirecionamento e podem ser usadas no nível de registros em log FINE. A reconexão de resiliência de conexão ociosa usa a categoria de registro em log de Resiliência e pode ser usada nos níveis de registro em log FINE ou FINER.

Alterações na versão 12.6

Alterar Detalhes
Alterada a maneira como o IBM JDK é verificado para prevenir problemas com ambientes OSGi Alterado de “somente verificar o nome do fornecedor”, para “verificar o nome do fornecedor e da vm”.
Sincronização correta de todas as chamadas para MSAL Evita que o driver faça chamadas extras e comprove diálogos desnecessários.
Adicionados erros que precisam ser convertidos para RMFAIL Adicionados mais casos, "conexão redefinida por peer" e "conexão atingiu o tempo limite", que devem equivaler a RMFAIL
Alterada a forma como os carimbos de data/hora são usados no BulkCopy Altera o comportamento de BulkCopy de serialização e desserialização de objetos de carimbo de data/hora e passa a usar os objetos diretamente, melhorando o desempenho ao usar um grande número de carimbos de data/hora.
Alteração de socketTimeout para garantir que seja menor que loginTimeout Anteriormente socketTimeout atuava de forma independente de loginTimeout, o que causava o comportamento potencialmente confuso em que o driver levava mais tempo para atingir o tempo limite do que o esperado. Isso foi corrigido, então socketTimeout sempre tem um limite superior igual a loginTimeout.
Ajuste do cache PreparedStatement para que ele seja limpo antes de cada execução O cache PreparedStatement não era limpo corretamente, de modo que, sem contar sua infrequência, poderia levar a problemas de memória ao longo do tempo. Essa alteração garante que o cache seja limpo antes de cada execução, o que evita o acúmulo de objetos.
Atualizado para dependências Bouncycastle mais recentes Atualizado de bcprov-jdk15on e bcpkix-jdk15on para bcprov-jdk18on e bcpkix-jdk18on, uma vez que não recebe mais atualizações.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, bouncycastle, h2 e msal.

Correções na versão 12.6

Correção Detalhes
Corrigida uma verificação nula ausente de e.getCause() Corrigido um problema em que a própria exceção é repassada quando uma exceção não tem causa, evitando que ela seja perdida. Problema do GitHub n.º 2299.
Corrigidos bloqueios no IOBuffer para evitar possíveis problemas de deadlock Corrigida a implementação de bloqueios no IOBuffer, especificamente em relação a disableSSL, para evitar possíveis deadlocks em certas situações. Problema do GitHub n.º 2288. Problema do GitHub n.º 2265.
Corrigido um problema com carimbos de data/hora e cópia em massa de inserção em lote Corrigido o fuso horário que não era aplicado corretamente a carimbos de data/hora quando inseridos por inserção em lote com cópia em massa. Problema do GitHub n.º 2271.
Corrigidos getters e setters ausentes para useBulkCopyForBatchInsert Corrigido um problema em que o comportamento não era o mesmo entre SQLServerConnection e SQLServerConnnectionPoolProxy, quando deveria ser, pois useBulkCopyForBatchInsert tinha um getter e setter ausente no último caso. Problema do GitHub n.º 2245.
Corrigida a consulta de metadados de bulkcopy, que agora usa dados armazenados em cache, se disponíveis Corrigido um problema em que as chamadas para metadados de coluna eram chamadas todas as vezes, ainda que os dados estivessem armazenados em cache. Problema do GitHub n.º 2224.
Corrigida uma verificação de escala BigDecimal ausente para valores TVP - Corrigido um problema em que, ao escrever valores de linha TVP, os valores de entrada não eram filtrados corretamente para a escala BigDecimal. Problema do GitHub n.º 2222.
Corrigido o schemaPattern em SQLServerDatabaseMetadata para garantir seu escape adequado Corrigido um problema em que schemaPattern era o único padrão que não tinha escape correto no SQLServerDatabaseMetadata. Problema do GitHub n.º 2186.
Corrigido um problema em que um SQLState nulo era retornado ao tentar converter uma data em long Corrigido um problema em que, quando xopenStates era definido como true, o driver não retornava o código de estado SQL-99 esperado em uma instância específica. Problema do GitHub n.º 2167.
Corrigido o erro de getMetaData de consultas contendo TOP Corrigido um problema em que o driver retornava um erro referente a ParameterMetadata, ao usar o qualificador TOP em uma consulta. Problema do GitHub n.º 1776.
Corrigido um problema de análise de nome da tabela ao usar inserções em lote Corrigido um problema em que instruções de inserção com espaço em branco ausente funcionavam corretamente em casos normais, mas não ao usar inserções em lote. Problema do GitHub n.º 1534.
Corrigido um problema com ParameterMetadata e índices inválidos Corrigido um problema em que ParameterMetadata não verificava e gerava exceções corretamente para um índice inválido 0. Problema do GitHub n.º 1490.
Corrigido o comportamento de ActivityID em ActivityCorrelator Corrigida a forma como o ActivityID era definido e usado para que seja mais compatível com o comportamento de outros drivers da Microsoft.
Correção realizada para ignorar colunas computadas ao usar bulkcopy para inserção em lote Corrigido o comportamento de BulkCopy para que ignore colunas computadas e permita inserções em lote, quando anteriormente a inserção falhava e retornava um erro que mencionava essas colunas computadas.
Corrigido o comportamento do driver em relação a assinaturas ao usar o Repositório de Chaves Java e o Azure Key Vault Corrigido um problema em que a assinatura não era verificada corretamente ao usar o Repositório de Chaves Java, e adição de uma nova API para assinar metadados de chave mestra de coluna (e retornar a assinatura gerada) para uso com o Repositório de Chaves Java e o Azure Key Vault
Corrige a conversão errada de getObject() de DateTimeOffset Corrigido um problema ao chamar ResultSet.getObject() em uma coluna DATETIMEOFFSET, com LocalDate/LocalTime/LocalDateTime como argumento de classe, em que o valor na coluna era convertido para o fuso horário local.

Versões anteriores

12.4

Baixar o Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Número da versão: 12.4.2
Lançamento: 27 de outubro de 2023

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 12.4

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 12.4. GitHub 12.4.0.
Maven Central.
Totalmente em conformidade com a Especificação de API 4.2 do JDBC. Os JARS no pacote 12.4 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-12.4.0.jre11.jar do pacote 12.4 deve ser usado com o Java 11 (ou posterior).
Compatível com o Java Development Kit (JDK) versões 20.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.4 para SQL Server já é compatível com o Java Development Kit (JDK) versão 20.0, além do JDK 17.0, 11.0 e 1.8.

Lançamentos 12.4

Número da versão: 12.4.2
Lançamento: 21 de setembro de 2023

Problemas corrigidos na versão 12.4.2:

  • Revertida a verificação da IBM para a verificação do fornecedor e adicionada uma verificação extra de nome de VM para remover falsos positivos.

Baixar o Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 12.4.1
Lançamento: 24 de agosto de 2023

Alterações na versão 12.4.1:

  • Espaçamento automático agora é aplicado aos nomes de parâmetros SQL preparados

Problemas corrigidos na versão 12.4.1:

  • Corrigida a consulta de metadados getUserName no contexto de segurança de usurpação de identidade no banco de dados SQL do Azure
  • Corrigida a detecção do IBM JDK
  • Corrigido o bug em que a assinatura não era verificada para o repositório de chaves Java e a API signColumnMasterkeyMetadata foi adicionada ao JKS e ao AKV
  • Adicionada a localização de cadeia de caracteres de erro que estava faltando na versão original

Baixar o Microsoft JDBC Driver 12.4.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.4.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 12.4.0
Lançamento: 31 de julho de 2023

Baixar o Microsoft JDBC Driver 12.4.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.4.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente do que foi detectado para você, poderá usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos na versão 12.4

Recurso Detalhes
Compatível com Java 20 O driver agora é compatível com o Java Development Kit (JDK) versão 20.0, além do JDK 17.0, 11.0 e 1.8.
Adição da propriedade: token de acesso para callback de autenticação Complementa o token de acesso para callback de autenticação implementado anteriormente, permitindo a passagem do nome da classe que implementa o callback na string de conexão.
Adicionado suporte para ActiveDirectoryServicePrincipalCertificate Aprimoramento na experiência do usuário por meio do suporte de ActiveDirectoryServicePrincipalCertificate da Azure Identity Library via a opção de conexão authentication=ActiveDirectoryServicePrincipalCertificate.
Adicionado outro caso para XAER_RMFAIL O driver ainda estava retornando XAException com o erro XAER_RMERR em alguns casos. Um caso foi adicionado ao tratamento de erro XA para resolver esse problema.

Alterações na versão 12.4

Alteração Detalhes
Atualização da lógica de autenticação federada para uso do cache de token persistente ao buscar o token Essa atualização melhora o desempenho em cenários de busca de token e permite uma melhor compatibilidade com versões futuras do MSAL.
Permitir que seja testado um parceiro de failover se houver um timeout de soquete Permite uma tentativa de reconexão com um parceiro de failover fornecido após um timeout de soquete.
Desempenho aprimorado ao criar definições de tipo de parâmetro Ao pré-computar os tamanhos dos arrays e dos construtores de strings usados em buildParamTypeDefinitions, e ao remover alocações desnecessárias de strings, melhore o desempenho quando esse método for utilizado.
Alterado o serverName enviado no pacote LOGIN para incluir instanceName serverName agora é anexado ao final de instanceName em LOGIN pacotes.
Atualizado o método supportTransaction para refletir se o servidor suporta transações Resolvido um problema em que connection.rollback não funcionava para o banco de dados do Azure Synapse, uma vez que a sintaxe utilizada no supportTransaction não era suportada pelo Azure Synapse.
Atualizadas as chamadas sp_cursor para que os nomes das tabelas sejam passados em vez de uma cadeia de caracteres vazia Resolve um problema em que atualizações inconsistentes de linhas do ResultSet eram recebidas ao atualizar tabelas do tipo um-para-muitos.
Atualizado supportsLikeEscapeClause() para verificar se o Azure Data Warehouse está presente Resolve um problema em que supportsLikeEscapeClause retornava verdadeiro para o AzureDW, apesar de explicitamente ele não ser suportado.
Atualizado para a especificação OSGi JDBC mais recente Atualização de osgi.compendium 5.0.0 para osgi.service.jdbc 1.1.0 para manter a conformidade com a especificação OSGi JDBC 8.1.0.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gson, h2 e msal.

Correções na versão 12.4

Correção Detalhes
Foram corrigidos os problemas de desempenho e memória presentes com o BigDecimal Foram revertidas todas as alterações, desde a versão 12.2, em relação ao BigDecimal. Essa correção resolve os problemas de desempenho apresentados. Os usuários devem utilizar o BigDecimal com cautela para evitar os problemas de truncamento que foram resolvidos anteriormente. Problema do GitHub n.º 2176.
Validação de certificado de servidor corrigida para encrypt=strict Correção para garantir que o certificado do servidor seja validado corretamente nos casos em que encrypt estiver definido como strict. Problema do GitHub n.º 2174..
Corrigido o lockTimeout, não tendo efeito quando o modo de redirecionamento é definido no BD do Azure Corrigido quando lockTimeout é definido, pois somente se aplica a conexões externas ao Azure, e não internas, como era anteriormente. Problema do GitHub n.º 2110.
Corrigida a alta contagem de threads ao usar findSocketUsingThreading Corrigido um problema em que uma exceção não detectada levava à interrupção das chamadas de suspensão em upstream, fazendo com que novas tentativas ocorressem muito rapidamente. Problema do GitHub n.º 2104.
Corrigida a condição de corrida do temporizador compartilhada Corrigida uma condição de corrida potencial na classe SharedTimer. Problema do GitHub n.º 2085.
Corrigido um erro com procedimentos armazenados e retorno de metaQuery com resultado zero Corrigido um problema em que, se metaQuery não retornasse nenhum resultado após a execução de um procedimento armazenado, isso retornaria um erro de parâmetro indefinido. Problema n.º 2063 do GitHub.
Corrigidas as inserções em lote inválidas quando as colunas fornecidas na inserção diferem em ordem do esquema da tabela Corrigido o problema em que o uso de useBulkCopyForBatchInsert=true poderia levar a uma confusão de colunas e dados inválidos. Problema do GitHub n.º 1992.
Corrigido o tratamento de erro XA para relançar XAER_RMFAIL em vez de XAER_RMERR Corrigido um problema em que o driver retornava XAException com código de erro XAER_RMERR em caso de failover do SQL Server do nó primário para o nó em espera ao confirmar uma transação XA. Problema do GitHub n.º 1432.
Correções no comportamento do ID da atividade e do ID do cliente para manter a consistência com a especificação do JDBC Corrigido o comportamento do ID da atividade para que permaneça o mesmo durante todo o processo, sempre envie o ID da atividade em PRELOGIN e incremente a sequência para cada nova conexão. Também foi corrigido o ID do cliente para que persista durante todo o processo.

12.2

Baixar o Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número da versão: 12.2.0
Lançamento: 31 de janeiro de 2023

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 12.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 12.2. GitHub, 12.2.0.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os JARs do pacote 12.2 são nomeados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-12.2.0.jre11.jar do pacote 12.2 deve ser usado com o Java 11 (ou superior).
Compatível com o JDK (Java Development Kit) versões 19.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.2 para SQL Server já é compatível com o JDK (Java Development Kit) versão 19.0, além do JDK 17.0, 11.0 e 1.8.

Versões 12.2

Baixar o Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número da versão: 12.2.0
Lançamento: 31 de janeiro de 2023

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos da versão 12.2

Recurso Detalhes
Suporte para o Java 19 O driver já é compatível com o JDK (Java Development Kit) versão 19.0, além do JDK 17.0, 11.0 e 1.8.
Suporte adicionado para o retorno de chamada do token de acesso Permite que o código do cliente registre um retorno de chamada em uma DataSource que retorna um token de acesso.
Suporte adicionado para a DefaultAzureCredential Aprimoramento na experiência do usuário por meio do suporte de DefaultAzureCredential e IntelliJCredential na Biblioteca de Identidade do Azure por meio da opção de conexão authentication=ActiveDirectoryDefault.
Adicionada uma nova propriedade de conexão datetimeParameterType para especificar o tipo de dados a ser usado para parâmetros de carimbo de data/hora Adicionada uma propriedade de conexão datetimeParameterType que permite aos usuários especificar explicitamente conversões para datetime ou datetime2, fornecendo maior compatibilidade em bancos de dados mais antigos.

Alterações na versão 12.2

Alterar Detalhes
O driver passou a ser amigável ao Loom Substitui synchronized(foo) por bloqueios reentrantes, aprimorando o desempenho durante o uso do Loom.
A autenticação da Identidade Gerenciada usa a biblioteca de Identidade do Azure Substitui o código interno do driver para obter e armazenar em cache os tokens da Identidade Gerenciada pela biblioteca de Identidade do Azure. Essa alteração adiciona suporte à Identidade Gerenciada para serviços adicionais do Azure em relação ao suporte anterior do driver.
Tornada opcional uma dependência de MSAL Tornada novamente opcional uma dependência de msal4j.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcprov-jdk15on, bcpkix-jdk15on e msal.
Atualizado para verificar dinamicamente a classe ExtendedSocketOption Corrigido um erro em que ExtendedSocketOptions ausente retornava um arquivo NoClassDefFoundError.

Correções da versão 12.2

Fix Detalhes
Corrigido o estado do SQL nulo e o código de erro zero quando a exceção do banco de dados é gerada Correção de um problema em que, após o erro do SQL, o estado do SQL e o código de erro mostravam informações incorretas. Problema do GitHub nº 2015.
Corrigida a recuperação de conexão ociosa para que unprocessedResponseCount não sofra super-redução unprocessedResponseCount só precisa ser reduzido quando doneToken.isFinal é verdadeiro, e estava sendo reduzido independentemente disso. Problema do GitHub n.º 1971.
Corrigida a conexão para o host do SQL Server errado Corrige um problema de simultaneidade em que, quando um driver se conectava a vários hosts do SQL Server, uma conexão podia ser estabelecida com o host errado. Problema do GitHub nº 1964.
Corrigido updateCount incorreto A contagem de atualização incorreta pode acontecer em casos verdadeiros/falsos e para enablePrepareOnFirstPreparedStatementCall em casos prepexec/prepare. Problema do GitHub n.º 1961.
Corrigidos problemas de simultaneidade em métodos de ofuscação de criptografia/descriptografia para senha de armazenamento confiável Adicionados bloqueios para criptografar/descriptografar na ofuscação de senha do armazenamento confiável. Problema do GitHub n.º 1939.
Correção do problema de uso de maiúsculas e minúsculas do nome da conta do cache Corrige um problema em que os nomes das contas eram enviados para a Biblioteca de Autenticação da Microsoft com diferenciação de maiúsculas e minúsculas, levando a solicitações de logon repetidas. Problema do GitHub nº 1923.
Correção do bug de cancelamento de consulta Corrigido um bug de cancelamento de consulta que ocorria intermitentemente em consultas em lote. Problema do GitHub n.º 1896.
Corrigidos erros de instrução invocável Corrigidos erros de instrução invocável "índice fora dos limites" e "parâmetro não definido". Problema do GitHub n.º 1871.
Corrigida a verificação de token DONE ao buscar conjuntos de resultados Adicionado um caso que faltava à correção de DONE_ERROR anterior, em que o status DONE_ERROR do servidor, resultante de uma sessão abortada, era ignorado pelo driver. Problema do GitHub n.º 1846. Problema do GitHub n.º 1505.
Certifique-se de que batchParamValues seja limpo em todos os casos ao executar um lote Solucionado um problema em que os lotes não eram limpos corretamente em caso de falha ao usar a atualização em massa. Problema do GitHub n.º 1767.
Correção da precisão enviada durante o uso de BigDecimal Corrige um problema em que, por padrão, os valores de BigDecimal eram enviados com a precisão máxima, o que poderia resultar em um arredondamento decimal indesejado. Problema do GitHub nº 1489. Problema do GitHub nº 942
Correção do protocolo de atestado NONE para que ele funcione em todos os casos Correção da lógica por trás do protocolo de atestado NONE para que ele funcione em todos os casos, e não apenas em casos específicos.
Corrigida condição de corrida no SecureStringUtil Corrigida uma condição de corrida no SecureStringUtil durante a criação de SecureStringUtil.

11.2

Baixar o Microsoft JDBC Driver 11.2.3 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 11.2.3 para SQL Server (tar.gz)

Número da versão: 11.2.3
Lançamento: 12 de janeiro de 2023

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 11.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 11.2. GitHub, 11.2.0.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os jars no pacote da 11.2 são nomeados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-11.20.jre17.jar do pacote da 11.2 deve ser usado com o Java 17.
Compatível com o JDK (Java Development Kit) versões 18.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 11.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 18.0, além do JDK 17.0, 11.0 e 1.8.

Versões 11.2

Número da versão: 11.2.3
Lançamento: 12 de janeiro de 2023

Problemas corrigidos na versão 11.2.3:

  • Corrigido o estado do SQL nulo e o código de erro zero quando a exceção do banco de dados é gerada
  • Corrigidas as contagens de atualização incorretas quando o tempo limite ocorre em consultas em lote
  • Corrigida a data de validade incorreta do token ao usar Azure Functions
  • Corrigida a conexão para o host do SQL Server errado

Número da versão: 11.2.2
Lançamento: 15 de dezembro de 2022

Problemas corrigidos na versão 11.2.2:

  • Corrigido bug de Resiliência de Conexão Ociosa
  • Limpar cache de identificador de instrução preparada na reconexão por ociosidade
  • Correção do erro de índice de instrução chamável fora dos limites
  • Corrigida a verificação de token DONE ao buscar conjuntos de resultados
  • Corrigido erro intermitente: "Erro interno durante a descriptografia: incompatibilidade de marcação!"

Baixar o Microsoft JDBC Driver 11.2.2 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 11.2.2 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 11.2.1
Lançamento: 8 de setembro de 2022

Problemas corrigidos na versão 11.2.1:

  • Fez com.microsoft.azure:msal4j uma dependência opcional
  • Corrigido um bug de cancelamento de consulta que ocorria intermitentemente em consultas em lote

Baixar o Microsoft JDBC Driver 11.2.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 11.2.1 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 11.2.0
Lançamento: 4 de agosto de 2022

Baixar o Microsoft JDBC Driver 11.2.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 11.2.0 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos na versão 11.2

Recurso Detalhes
Suporte para Java 18 O driver agora é compatível com o Java Development Kit (JDK) versão 18.0, além do JDK 17.0, 11.0 e 1.8.
Suporte ao IPv6 configurável adicionado A preferência de endereço IP para o aplicativo cliente agora pode ser definida entre IPv4 e IPv6. Use a nova configuração de conexão ipaddresspreference para controlar o comportamento. Para obter mais informações, veja Configuração das propriedades de conexão.
Suporte para a seleção de método de preparação adicionado Nova propriedade de cadeia de conexão prepareMethod para alternar entre o uso de sp_prepare e sp_prepexec adicionada. Use a nova configuração de conexão prepareMethod para controlar o comportamento. Para obter mais informações, veja Configuração das propriedades de conexão.
Adicionada a propriedade de conexão serverCertificate para encrypt=strict Adicionada uma propriedade serverCertificate que é o caminho para o arquivo de certificado do servidor (no formato PEM). Usado para validação ao usar a criptografia definida como estrita. Para obter mais informações, veja Configuração das propriedades de conexão.
Chamadas de metadados de parâmetro de cache As informações relacionadas à criptografia para consultas parametrizadas agora podem ser armazenadas em cache. Confira Como usar Always Encrypted com o JDBC Driver.
Adicionado suporte para inserção em massa de valores de GUID nulos Resolvido um problema em que a inserção de valores nulos não era possível no modo de inserção em massa.
Adicionado suporte a armazenamento em cache de tokens de identidade gerenciada Permitido o armazenamento em cache de tokens obtidos de pontos de extremidade de identidade gerenciada.

Alterações na versão 11.2

Alterar Detalhes
Suporte ao TDS 8.0 adicionando a opção "estrita" para criptografar a propriedade de conexão ALTERAÇÃO INTERRUPTIVA A propriedade de conexão criptografada agora é do tipo de cadeia de caracteres.
Verificação adicionada para ALPN negociado Verifica se o Application-Layer Protocol foi negociado com sucesso.
Opção para enclaveAttestationProtocol adicionada Adicionada a opção de protocolo NONE para que enclaves seguros possam ser usados ​​sem certificação.
Permite que serverName seja reordenado na cadeia de conexão Valida se o campo serverName da cadeia de conexão não possui um sinal de igual.
Adicionado um log de erros melhor para bibliotecas MSAL ausentes Adicionada uma mensagem de erro quando MSAL está ausente no caso de ActiveDirectoryServicePrincipal.
Refatorado o tempo limite de resiliência de conexão ociosa para usar o SharedTimer existente Aumentada a eficiência com resiliência de conector ocioso usando o SharedTimer existente.
Enviar TDS versão 8 no Login7 quando no modo estrito Adicionadas informações ao pacote do Login7 incluindo o TDS versão 8 quando encrypt=strict.
Alterado o valor de loginTimeout padrão para 30 segundos O valor padrão de loginTimeout sofreu alteração de 15 segundos para 30 segundos a fim de disponibilizar mais tempo para que as conexões iniciais sejam resolvidas antes do tempo limite.
A dependência msal4j agora é explícita Adicionada uma dependência explícita para msal4j (antes uma dependência transitiva em versões anteriores).
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys.

Correções na versão 11.2

Fix Detalhes
Corrigido erro causado por preparedMethod=prepare Corrigido erro intermitente de identificador de instrução preparada nula causado por sp_prepare quando usado com consultas em lote Problema do GitHub N.º 1880.
Corrigido o erro em que estabelecer várias conexões em paralelo podia gerar uma IndexOutOfBoundsException Corrigida a condição de corrida com addressList, que pode resultar em IndexOutOfBoundsException ao estabelecer várias conexões GitHub Erro n.º 1852.
Corrigido o erro em que declaração falhava ao cancelar a instrução "inserir em" Corrigido o problema em que o driver poderia declarar ao cancelar uma instrução Problema do GitHub n.º 1849.
Corrigido o erro de uma exceção não ser gerada como esperado quando a sessão era encerrada no banco de dados SQL Verificação adicionada para o token de status DONE_ERROR, que pode ocorrer após uma sessão ser encerrada no servidor GitHub Erro n.º 1846.
Intervalo de repetição de identidade gerenciada Corrigido o intervalo de repetição de identidade gerenciada para recuar exponencialmente o GitHub Erro 1765.
Removida a chamada extra de executeCommand() em connectionCommand() Removida uma chamada extra para executeCommand que estava causando problemas de desempenho para alguns usuários Problema do GitHub n.º 1669.
Corrigido erro de token desconhecido com selectMethod Corrigido erro 0xA3 de token desconhecido quando selectMethod o cursor é usado com classificação de dados.

10.2

Baixar o Microsoft JDBC Driver 10.2.3 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 10.2.3 para SQL Server (tar.gz)

Número da versão: 10.2.3
Lançamento: 12 de janeiro de 2023

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 10.2.2
Lançamento: 13 de dezembro de 2022

Baixar o Microsoft JDBC Driver 10.2.2 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 10.2.2 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Número da versão: 10.2.1
Lançamento: 12 de maio de 2022

Baixar o Microsoft JDBC Driver 10.2.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 10.2.1 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 10.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 10.2. GitHub, 10.2.0.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os JARs no pacote da 10.2 são nomeados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-10.20.jre17.jar do pacote da 10.2 deve ser usado com o Java 17.
Compatível com o JDK (Java Development Kit) versões 17.0, 11.0 e 1.8. Agora, o Microsoft JDBC Driver 10.2 para SQL Server é compatível com o JDK (Java Development Kit) versões 17.0, 11.0 e 1.8.

Lançamentos 10.2

Número da versão: 10.2.3
Lançamento: 12 de janeiro de 2023

Problemas corrigidos na versão 10.2.3:

  • Corrigidas as contagens de atualização incorretas quando o tempo limite ocorre em consultas em lote
  • Corrigida a data de validade incorreta do token ao usar Azure Functions
  • Corrigido o estado do SQL nulo e o código de erro zero quando a exceção do banco de dados é gerada

Número da versão: 10.2.2
Lançamento: 13 de dezembro de 2022

Problemas corrigidos na versão 10.2.2:

  • Limpeza do cache de instruções preparadas em reconexões de resiliência de conexão ociosa
  • Correção da definição de opções estendidas KeepAlive
  • Correção de um problema em que o driver pode indicar o cancelamento de uma instrução
  • Correção do erro de índice de instrução chamável fora dos limites
  • Correção de um problema de não verificação de erros do token DONE para que as exceções sejam ignoradas
  • Correção do bug de cancelamento de consulta

Número da versão: 10.2.1
Lançamento: 12 de maio de 2022

Problemas corrigidos na versão 10.2.1:

  • Alterado o tempo limite de resiliência de conexão ociosa para usar o SharedTimer existente
  • Corrigido o intervalo de repetição de autenticação de identidade gerenciada para retirar exponencialmente corretamente
  • Chamada extraneousa removida para executeCommand() em connectionCommand()

Número da versão: 10.2.0
Lançada em: 31 de janeiro de 2022

Baixar o Microsoft JDBC Driver 10.2.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 10.2.0 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos na versão 10.2

Recurso Detalhes
Suporte para Java 17 Agora, o driver é compatível com o JDK (Java Development Kit) versões 17.0, 11.0 e 1.8.
Suporte à Resiliência de Conexão Ociosa Agora há suporte à Resiliência de Conexão Ociosa. Confira Resiliência de Conexão Ociosa.
Provedores de repositório de chaves de vários usuários Agora, o driver é compatível com provedores de repositório de chaves nos níveis de conexão e de instrução para dar suporte a cenários de vários usuários. Confira Como usar Always Encrypted com o JDBC Driver.

Alterações na versão 10.2

Alterar Detalhes
Criptografia padrão como true ALTERAÇÃO INTERRUPTIVA A criptografia de TLS está habilitada por padrão.
Validação de certificado quando encrypt = false ALTERAÇÃO INTERRUPTIVA Quando encrypt = false, mas o servidor exigir criptografia, o certificado será validado com base na configuração de conexão trustServerCertificate.
aadSecurePrincipalId e aadSecurePrincipalSecret obsoletas As propriedades de conexão aadSecurePrincipalId e aadSecurePrincipalSecret foram preteridas. Use o nome de usuário e a senha como alternativa.
API getAADSecretPrincipalId removida ALTERAÇÃO INTERRUPTIVA A API getAADSecretPrincipalId foi removida por motivos de segurança.
Suporte para SQL_Variant Foi adicionado o suporte para o tipo de dados SQL_Variant na recuperação de DateTimeOffset.
Randomização sem bloqueio no Linux Atualizada para usar uma chamada aleatória sem bloqueio na geração de um GUID para pacotes de enclave.
Resolução CNAME para realm Foi adicionada a resolução CNAME quando realm é especificado.
Dependências atualizadas Foram atualizadas as versões de dependência para azure-identity, azure-security-keyvault-keys, gson e bouncycastle.

Correções na versão 10.2

Fix Detalhes
TDSParser travado em TDS_COLMETADATA Corrigido: TDSParser travado em TDS_COLMETADATA, o que pode resultar em uma suspensão para determinadas consultas. Problema nº 1661 do GitHub

9,4

Baixar o Microsoft JDBC Driver 9.4.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 9.4.1 para SQL Server (tar.gz)

Número de versão: 9.4.1
Lançamento: 7 de dezembro de 2021

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 9.4

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 9.4. GitHub, 9.4.0.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os JARs no pacote 9.4 são nomeados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-9.4.0.jre16.jar do pacote 9.4 deve ser usado com o Java 16.
Compatível com o JDK (Java Development Kit) versões 16.0, 11.0 e 1.8. O Microsoft JDBC Driver 9.4 para SQL Server agora é compatível com o JDK (Java Development Kit) versão 16.0, além do JDK 11.0 e 1.8.

Versões 9.4

Número de versão: 9.4.1
Lançamento: 07 de dezembro de 2021

Problemas corrigidos na versão 9.4.1:

  • Correção de possível travamento quando o driver encontra TDS_COLMETADATA sem suporte
  • Correção da conversão de LocalDateTime e LocalTime em string em cópias em massa

Número de versão: 9.4.0
Lançado: 30 julho de 2021

Baixar o Microsoft JDBC Driver 9.4.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 9.4.0 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Novos recursos na versão 9.4

Recurso Detalhes
Suporte para Java 16 Agora, o driver é compatível com o JDK (Java Development Kit) versão 16.0, além do JDK 11.0 e 1.8.
Suporte à conexão de replicação Agora há suporte para conexões de replicação. Confira Como definir as propriedades de conexão.
Realm de autenticação Kerberos personalizado Agora, o driver dá suporte à especificação de um realm de autenticação personalizado ao usar a autenticação Kerberos. Confira Como definir as propriedades de conexão.
Nova tentativa de abrir conexões As propriedades de conexão connectRetryCount e connectRetryInterval foram adicionadas para configurar novas tentativas automáticas ao abrir conexões. Confira Como definir as propriedades de conexão para obter detalhes sobre essas novas propriedades.

Alterações na versão 9.4

Alterar Detalhes
Provedor do Azure Key Vault Várias conexões sucessivas podem ser abertas especificando diferentes informações de provedor do Azure Key Vault.
Mensagens de erro atualizadas As mensagens de erro relacionadas a exceções de Enclave agora incluem um link para um guia de solução de problemas.
As mensagens de erro relacionadas a falhas de autenticação do Active Directory agora incluem a cadeia de caracteres de erro da biblioteca subjacente.
Versão do driver enviada ao servidor A versão do driver agora é enviada corretamente ao banco de dados durante o PRELOGIN.
ID do processo do cliente A ID do processo do cliente agora é enviada ao servidor durante a execução no Java 9 ou superior. O Java 8 mantém a funcionalidade anterior de envio de 0 para a ID do processo do cliente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gson, antlr e bouncycastle.
Remoção de referências desnecessárias Foram removidas as referências de classe específicas do Java 9 não usadas do JAR do Java 8

Correções na versão 9.4

Fix Detalhes
Problema do GitHub nº 1499 Corrigido: o lote falha quando o recurso Always Encrypted está habilitado na cadeia de conexão e clearParameters é chamado.
Problema do GitHub nº 1632 Corrigido: pequena perda de memória na nova conexão.
Problema do GitHub nº 1565 Foi corrigido um problema em que trustStorePassword era nulo ao usar applicationIntent=ReadOnly
Problema do GitHub nº 1568 Foi corrigido um problema em que o token redirecionado continha a instância nomeada no nome do servidor
Problema do GitHub nº 1531 Foi corrigido o possível estouro de inteiro em TDSWriter.writeString()

9.2

Baixar o Microsoft JDBC Driver 9.2.1 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 9.2.1 para SQL Server (tar.gz)

Número de versão: 9.2.1
Lançamento: 02 de março de 2021

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 9.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do Driver JDBC 9.2. GitHub, 9.2.1.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os JARS do pacote 9.2 são nomeados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-9.2.1.jre15.jar do pacote 9.2 deverá ser usado com o Java 15.
Compatível com o JDK (Java Development Kit) versão 1.8, 11.0 e 15.0. O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com o JDK (Java Development Kit) versão 15.0, além do JDK 1.8 e 11.0.

Versões 9,2

Número de versão: 9.2.1
Lançamento: 02 de março de 2021

Problemas corrigidos na versão 9.2.1:

  • Correção de um problema em que o segredo do cliente estava vazio durante a autenticação do ActiveDirectoryServicePrincipal no ambiente do Azure.

Número de versão: 9.2.0
Lançado: 29 de janeiro de 2021

Baixar o Microsoft JDBC Driver 9.2.0 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 9.2.0 para SQL Server (tar.gz)

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Suporte para o JDK 15

O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com o JDK (Java Development Kit) versão 15.0, além do JDK 1.8 e 11.0.

Suporte adicionado para obter uma Autenticação Interativa do Azure Active Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com uma autenticação no Azure Key Vault por meio de autenticação interativa. Confira Como se conectar usando uma autenticação do Azure Active Directory.

Suporte adicionado para obter uma Autenticação da Entidade de Serviço do Azure Active Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora é compatível com uma autenticação no Azure Key Vault usando a ID do cliente e o segredo de uma identidade da entidade de serviço. Confira Como se conectar usando uma autenticação do Azure Active Directory.

Atualização da biblioteca do Azure Key Vault para usar uma biblioteca moderna do Azure Key Vault

Alterações de bibliotecas do Azure Key Vault Detalhes
O Microsoft JDBC Driver 9.2 migrou da biblioteca do Azure Key Vault da geração anterior e das bibliotecas ADAL para equivalentes mais modernos do Azure Key Vault e Azure Identity. ALTERAÇÃO DE DEPENDÊNCIA: lembre-se de atualizar as dependências do aplicativo caso aproveite uma autenticação do Azure Active Directory ou do Azure Key Vault. Confira os requisitos de dependência ao trabalhar com o provedor do Azure Key Vault ou uma autenticação do Azure Active Directory

Habilitação do useBulkCopyForBatchInsert para servidores não Azure Synapse Analytics

Alterações do useBulkCopyForBatchInsert para servidores não Azure Synapse Analytics Detalhes
O Microsoft JDBC Driver 9.2 agora permite executar uma API de cópia em massa para a operação de inserção de lote em servidores não Azure Synapse Analytics. Confira Como usar uma API de cópia em massa para executar uma operação de inserção de lote.

8.4

Baixar o Microsoft JDBC Driver 8.4 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 8.4 para SQL Server (tar.gz)

Número de versão: 8.4.1
Lançado: 27 de agosto de 2020

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 8.4

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 8.4. GitHub, 8.4.1.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os jars no pacote 8.4 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-8.4.1.jre14.jar do pacote 8.4 precisa ser usado com o Java 14.
Compatível com JDK (Java Development Kit) versão 14.0, 11.0 e 1.8. O Microsoft JDBC Driver 8.4 para SQL Server agora é compatível com o JDK (Java Development Kit), versão 14.0, além do JDK 11.0 e 1.8.

Versões 8.4

Número de versão: 8.4.1
Lançado: 27 de agosto de 2020
Problemas corrigidos:

  • Correção de um problema com o SQLServerConnectionPoolProxy não ser compatível com delayLoadingLobs
  • Correção de um problema potencial NullPointerException com delayLoadingLobs
  • Corrigido um problema com a descriptografia de chaves de criptografia de coluna ao usar o repositório de certificados do Windows

Número de versão: 8.4.0
Lançado: 31 de julho de 2020

Suporte para JDK 14

O Microsoft JDBC Driver 8.4 para SQL Server agora é compatível com o JDK (Java Development Kit), versão 14.0, além do JDK 11.0 e 1.8.

Adicionado suporte para autenticação para Azure Key Vault usando a Identidade Gerenciada

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora dá suporte à autenticação para Azure Key Vault usando a Identidade Gerenciada. Confira Como usar Always Encrypted com o JDBC Driver.

Suporte estendido para cópia em massa para o Data Warehouse do Azure

Alterações de cópia em massa para o Data Warehouse do Azure Detalhes
O Microsoft JDBC Driver 8.4 adiciona uma propriedade de conexão, sendTemporalDataTypesAsStringForBulkCopy. Essa propriedade booliana é TRUE por padrão. Confira Como usar cópia em massa com o JDBC Driver.

Adicionado suporte para armazenamento em cache de DNS do Azure SQL

Cache DNS Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora dá suporte ao cache DNS no SQL Server das VMs do Azure.  

Adicionada compatibilidade com versões anteriores para streaming de objetos LOB

Streaming de LOB Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server adiciona uma propriedade de conexão delayLoadingLobs. Configurar delayLoadingLobs como FALSE fará com que todos os objetos LOB recuperados do ResultSet não sejam transmitidos. Isso significa que o driver carregará todo o objeto LOB na memória de uma vez, da mesma forma como o driver funcionava antes da versão 6.4.

Adicionado suporte para autenticação de certificado do cliente para cenários de loopback

Autenticação de certificado do cliente Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server adicionou um novo método de autenticação chamado autenticação de certificado de cliente para cenários de loopback. Confira Autenticação de certificado do cliente para cenários de loopback.

8.2

Baixar o Microsoft JDBC Driver 8.2 para SQL Server (zip)
Baixar o Microsoft JDBC Driver 8.2 para SQL Server (tar.gz)

Número de versão: Lançamento da versão 8.2.2: 24 de março de 2020

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo zip: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 8.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 8.2. GitHub, 8.2.2.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os jars no pacote 8.2 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-8.2.2.jre11.jar do pacote 8.2 precisa ser usado com o Java 11.
Compatível com JDK (Java Development Kit) versão 13.0, 11.0 e 1.8. O Microsoft JDBC Driver 8.2 para SQL Server agora é compatível com o JDK (Java Development Kit), versão 13.0, além do JDK 11.0 e 1.8.

Versões 8.2

Número de versão: 8.2.2
Lançado: 24 de março de 2020
Problemas corrigidos:

  • Adicionada uma opção para configurar a lista de pontos de extremidade confiáveis do Azure Key Vault

Número de versão: 8.2.1
Lançado: 26 de fevereiro de 2020
Problemas corrigidos:

  • Corrigido um problema potencial de NullPointerException ao recuperar dados como o tipo java.time.LocalTime ou java.time.LocalDate com SQLServerResultSet.getObject()

Número de versão: 8.2.0
Lançado: 31 de janeiro de 2020

Suporte para JDK 13

O Microsoft JDBC Driver 8.2 para SQL Server agora é compatível com o JDK (Java Development Kit), versão 13.0, além do JDK 11.0 e 1.8.

Always Encrypted com enclaves seguros

Alteração do Always Encrypted Detalhes
O Microsoft JDBC Driver 8.2 para SQL Server agora dá suporte a Always Encrypted com enclaves seguros. Os detalhes podem ser encontrados aqui: Always Encrypted com enclaves seguros.
Mais detalhes e código de exemplo. Veja Always Encrypted com enclaves seguros.

Aprimoramento do desempenho ao recuperar tipos de dados temporais do SQL Server 1

Alteração dos tipos de dados temporais Detalhes
O Microsoft JDBC Driver 8.2 para SQL Server aprimorou o desempenho ao recuperar tipos de dados temporais do SQL Server. Essa alteração elimina conversões de tipo de dados temporais desnecessárias, eliminando o uso de java.util.Calendar sempre que possível.
Veja a seguir uma lista dos tipos de dados temporais que foram afetados por esse aprimoramento de desempenho, no formato "SQL Server datatype" (mapeamento de Java). date (java.sql.Date), datetime (java.sql.Timestamp), datetime2 (java.sql.Timestamp), smalldatetime (java.sql.Timestamp) e time (java.sql.Time).

1 Devido às diferenças na maneira como os fusos horários são tratados entre as APIs java.util.Calendar e java.time.LocalDateTime, os tipos de dados temporais com um objeto java.util.Calendar fornecido pelo usuário associado a ele ou os tipos de dados microsoft.sql.DateTimeOffset não se beneficiam desse aprimoramento.

Implantação do mssql-jdbc_auth-<version>-<arch>.dll (anteriormente sqljdbc_auth.dll) no Repositório Maven

Alteração de sqljdbc_auth.dll Detalhes
A partir do Microsoft JDBC Driver 8.2 para SQL Server, o driver depende do mssql-jdbc_auth-<version>-<arch>.dll em vez do sqljdbc_auth.dll para usar o recurso de Autenticação do Azure Active Directory.  
A DLL também foi carregada para o repositório Maven para facilitar o acesso. Confira esta página.

Problemas conhecidos da versão 8.2

Problemas conhecidos Detalhes
Ao usar o Always Encrypted com enclaves seguros com o Java 8. Os usuários devem incluir o provedor BouncyCastle como uma dependência OU mapear/carregar um provedor de segurança que seja compatível com o algoritmo de assinatura RSASSA-PSS.

7.4.1

Baixar o Microsoft JDBC Driver 7.4.1 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 7.4.1 para SQL Server (tar.gz)

Número de versão: 7.4.1
Lançado: 2 de agosto de 2019

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 7.4

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 7.4. GitHub, 7.4.1.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os jars no pacote 7.4 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-7.4.1.jre11.jar do pacote 7.4 precisa ser usado com o Java 11.
Compatível com JDK (Java Development Kit) versão 12.0, 11.0 e 1.8. O Microsoft JDBC Driver 7.4 para SQL Server é agora compatível com o JDK (Java Development Kit), versão 12.0, além do JDK 11.0 e 1.8.

Versões 7.4

Número de versão: 7.4.1
Lançado: 2 de agosto de 2019
Problemas corrigidos:

  • Novas implementações de API equals() e hashCode() revertidas de SQLServerDataTable e SQLServerDataColumn, pois a alteração da API interrompeu a compatibilidade com versões anteriores

Número de versão: 7.4.0
Lançado: 31 de julho de 2019

Suporte para JDK 12

O Microsoft JDBC Driver 7.4 para SQL Server é agora compatível com o JDK (Java Development Kit), versão 12.0, além do JDK 11.0 e 1.8.

Introduz a autenticação NTLM

Alteração de NTLM Detalhes
É compatível com a autenticação NTLM. Esse modo de autenticação permite que clientes Windows e não Windows se autentiquem no SQL Server com usuários de domínio do Windows.
Confira mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Confira Como se conectar usando a autenticação NTLM.

Introduz a consulta ParameterMetaData por meio de useFmtOnly

Alteração useFmtOnly Detalhes
Propriedade de conexão useFmtOnly adicionada. Esse recurso permite que os usuários consultem opcionalmente o ParameterMetaData por meio da API herdada SET FMTONLY ON. Isso é útil para cenários em que sp_describe_undeclared_parameters não é executado conforme o esperado.
Mais detalhes e limitações. Confira Como usar o useFmtOnly

Foi atualizado o SDK do Microsoft Azure Key Vault para Java, versão 1.2.1

Alteração no SDK do Key Vault Detalhes
A dependência Maven no SDK do Microsoft Azure Key Vault para Java foi atualizada para a versão 1.2.1.  
Remove o SDK do Microsoft Azure para Key Vault WebKey como uma dependência Maven.  
Mais detalhes. Consulte Dependências de recurso do Microsoft JDBC Driver para SQL Server.

Problemas conhecidos da versão 7.4

Problemas conhecidos Detalhes
Ao usar a Autenticação NTLM. No momento, não é possível habilitar a Proteção Estendida e as conexões criptografadas ao mesmo tempo.
Ao usar o useFmtOnly. Há alguns problemas com o recurso, causados por deficiências na lógica de análise do SQL. Consulte Usar useFmtOnly para obter mais detalhes e soluções alternativas.

7.2.2

Baixar o Microsoft JDBC Driver 7.2.2 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 7.2.2 para SQL Server (tar.gz)

Número de versão: 7.2.2
Lançado: 16 de abril de 2019

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

Conformidade da versão 7.2

Alteração de conformidade Detalhes
Baixe as atualizações mais recentes do JDBC Driver 7.2. GitHub, 7.2.2.
Maven Central.
Totalmente em conformidade com a especificação 4.2 de API do JDBC. Os jars no pacote 7.2 são denominados de acordo com a compatibilidade da versão do Java.

Por exemplo, o arquivo mssql-jdbc-7.2.2.jre11.jar do pacote 7.2 deve ser usado com o Java 11.
Compatível com JDK (Java Development Kit) versão 11.0, além de JDK 1.8. O Microsoft JDBC Driver 7.2 para SQL Server é agora compatível com o JDK (Java Development Kit), versão 11.0, além do JDK 1.8.

Versões 7.2

Número de versão: 7.2.2
Lançado: 16 de abril de 2019
Problemas corrigidos:

  • Corrigidos problemas em que ActivityIDs não eram limpas adequadamente

Número de versão: 7.2.1
Lançado: 11 de fevereiro de 2019
Problemas corrigidos:

  • Corrigidos problemas de análise com determinadas consultas parametrizadas

Número de versão: 7.2.0
Lançado: 31 de janeiro de 2019

Autenticação de Identidade Gerenciada do Active Directory (MSI)

Alteração da MSI Detalhes
Dá suporte ao modo de autenticação da Identidade Gerenciada (MSI) do Active Directory. Esse modo de autenticação aplica-se aos Recursos do Azure com suporte para o recurso "Identidade" habilitado.

Ambos os tipos de Identidades Gerenciadas (MSI) têm suporte do driver para adquirir o accessToken a fim de estabelecer uma conexão segura.
Confira mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Confira Como se conectar usando a autenticação do Azure Active Directory.

Introduz o suporte à Open Service Gateway Initiative (OSGi)

Alteração na OSGi Detalhes
A implementação DataSourceFactory foi adicionada. org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
A implementação Activator foi adicionada. org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

Introduz as APIs SQLServerError

Alteração da API de erro Detalhes
A API SQLServerError foi introduzida. APIs getter para recuperar detalhes adicionais a respeito do erro gerado pelo servidor.

SQLServerException.getSQLServerError()
SQLServerError
Mais detalhes. Confira Como tratar erros.

A versão 1.6.3 da ADAL4J (Biblioteca de Autenticação do Microsoft Azure Active Directory) para Java foi atualizada

Alteração da ADAL4J Detalhes
A dependência Maven no ADAL4J foi atualizada para a versão 1.6.3.  
Introduz o Runtime do cliente Java para AutoRest como uma dependência Maven, versão 1.6.5.  
Mais detalhes. Consulte Dependências de recurso do Microsoft JDBC Driver para SQL Server.

Foi atualizado o SDK do Microsoft Azure Key Vault para Java, versão 1.2.0

Alteração no SDK do Key Vault Detalhes
A dependência Maven no SDK do Microsoft Azure Key Vault para Java foi atualizada para a versão 1.2.0.  
Introduz o SDK do Microsoft Azure para Key Vault WebKey como uma dependência Maven, versão 1.2.0.  
Mais detalhes. Consulte Dependências de recurso do Microsoft JDBC Driver para SQL Server.

Problemas conhecidos da versão 7.2

Problemas conhecidos Detalhes
Consultas parametrizadas, em determinados casos. Uma atualização da versão 7.2.0, a v7.2.1, foi lançada em fevereiro de 2019 para resolver esse problema.
Limpeza de ActivityIds. Uma atualização da versão 7.2.1, a v7.2.2, foi lançada em abril de 2019 para resolver esse problema.

7.0

Baixar o Microsoft JDBC Driver 7.0 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 7.0 para SQL Server (tar.gz)

Número de versão: 7.0.0
Lançado: 31 de julho de 2018

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

O Microsoft JDBC Driver 7.0 para SQL Server está totalmente em conformidade com a especificação 4.2 da API do JDBC. Os jars no pacote 7.0 são denominados de acordo com a compatibilidade da versão do Java. Por exemplo, o arquivo mssql-jdbc-7.0.0.jre10.jar do pacote 7.0 deve ser usado com o Java 10.

Suporte para JDK 10

O Microsoft JDBC Driver 7.0 para SQL Server é agora compatível com o JDK (Java Development Kit), versão 10.0, além do JDK 1.8. Essa atualização também expõe o Automatic-Module-Name do driver como com.microsoft.sqlserver.jdbc por meio de seu arquivo de manifesto.

Suporte para tipos de dados espaciais

O Microsoft JDBC Driver 7.0 para SQL Server agora oferece suporte a tipos de dados espaciais de Geografia e Geometria do SQL Server. Para saber mais sobre as APIs de tipo de dados espaciais e como usá-las, confira Como usar tipos de dados espaciais.

A implementação para JDBC 4.3 introduziu as APIs beginRequest() e endRequest() do java.sql.Connection.

O Microsoft JDBC Driver 7.0 para SQL Server agora implementa as APIs beginRequest() e endRequest() da classe java.sql.Connection. Essas APIs foram introduzidas com as especificações do JDBC 4.3 e JDK 9. Para saber mais sobre a implementação do driver dessas APIs, confira Conformidade do JDBC 4.3 para o JDBC Driver.

Suporte para classificação e descoberta de dados SQL

O Microsoft JDBC Driver 7.0 para o SQL Server dá suporte para a descoberta e classificação de dados SQL em qualquer banco de dados de destino que dê suporte a esse recurso. O driver agora expõe as APIs SQLServerResultSet.getSensitivityClassification() para extrair essas informações do ResultSet buscado.

Para saber mais sobre como usar esse recurso com o JDBC Driver, confira o exemplo em Descoberta e classificação de dados SQL.

Foi adicionada a propriedade de conexão: useBulkCopyForBatchInsert

O Microsoft JDBC Driver 7.0 para SQL Server apresenta uma nova propriedade de conexão, useBulkCopyForBatchInsert. Essa propriedade tem suporte apenas para o Azure Synapse Analytics.

Essa propriedade fica desabilitada por padrão. É possível habilitá-la para aumentar o desempenho de aplicativos do usuário ao enviar uma grande quantidade de dados para o Azure Synapse Analytics. Habilitar essa propriedade altera o comportamento das operações de inserção de lotes, alternando para operações de cópia em massa com os dados fornecidos pelo usuário. Para saber mais sobre essa propriedade e suas limitações, confira como usar a API de cópia em massa para a operação de inserção de lote.

Foi adicionada a propriedade de conexão: cancelQueryTimeout

O Microsoft JDBC Driver 7.0 para SQL Server apresenta uma nova propriedade de conexão, cancelQueryTimeout, para cancelar queryTimeout em objetos java.sql.Connection e java.sql.Statement.

Foram adicionados construtores do Azure Key Vault Provider

O Microsoft JDBC Driver 7.0 para SQL Server reintroduz um construtor removido anteriormente, para SQLServerColumnEncryptionAzureKeyVaultProvider. Ele permitia a autenticação por meio de um método personalizado, implementado sobre SQLServerKeyVaultAuthenticationCallback para buscar um token de acesso.

Os novos construtores têm a seguinte definição:

/* This constructor is added to provide backward compatibility with 6.0
* version of the driver. It is marked deprecated for removal in the next
* stable release.
*/
@Deprecated
public SQLServerColumnEncryptionAzureKeyVaultProvider(
        SQLServerKeyVaultAuthenticationCallback authenticationCallback,
        ExecutorService executorService) throws SQLServerException;

/*New constructor to replace the above constructor*/
public SQLServerColumnEncryptionAzureKeyVaultProvider(
            SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;

A versão "ADAL4J (Biblioteca de Autenticação do Microsoft Azure Active Directory) para Java" foi atualizada: 1.6.0

A dependência Maven do Microsoft JDBC Driver 7.0 para SQL Server foi atualizada para a versão 1.6.0 na "Biblioteca de Autenticação do Active Directory (ADAL4J) do Microsoft Azure para Java”. Para saber mais, confira Dependências de recurso do Microsoft JDBC Driver para SQL Server.

6.4

Baixar o Microsoft JDBC Driver 6.4 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 6.4 para SQL Server (tar.gz)

Número de versão: 6.4.0
Lançado: 27 de fevereiro de 2018

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

O Microsoft JDBC Driver 6.4 para SQL Server está totalmente em conformidade com as especificações 4.1 e 4.2 do JDBC. Os jars no pacote 6.4 são denominados de acordo com a compatibilidade da versão do Java. Por exemplo, o arquivo mssql-jdbc-6.4.0.jre8.jar do pacote 6.4 deve ser usado com o Java 8.

Suporte para JDK 9

O driver dá suporte à versão 9.0 do JDK, além do JDK 8.0 e 7.0.

Conformidade com o JDBC 4.3

O driver é compatível com a especificação da API Java Database Connectivity 4.3, além da 4.1 e da 4.2. Os métodos da API do JDBC 4.3 foram adicionados, mas ainda não foram implementados. Para obter detalhes, confira Conformidade do JDBC 4.3 com o JDBC Driver.

Foi adicionada a propriedade de conexão: sslProtocol

Uma nova propriedade de conexão permite aos usuários especificar a palavra-chave do protocolo TLS. Os valores possíveis são: "TLS", "TLSv1", "TLSv1.1" e "TLSv1.2". Para obter detalhes, confira o SSLProtocol.

Propriedade de conexão preterida: fipsProvider

A propriedade de conexão fipsProvider foi removida da lista de propriedades de conexão aceitas. Para obter detalhes, confira a solicitação de pull no GitHub relacionada.

Foram adicionadas propriedades de conexão para especificar um TrustManager personalizado

O driver agora dá suporte à especificação de um TrustManager personalizado com as propriedades de conexão trustManagerClass e trustManagerConstructorArg adicionadas. É possível especificar dinamicamente um conjunto de certificados que são confiáveis de acordo com a conexão, sem modificar as configurações globais do ambiente da máquina virtual Java (JVM).

Foi adicionado o suporte para datetime/smallDatetime nos parâmetros com valor de tabela

O driver agora dá suporte aos tipos de dados datetime e smallDatetime ao usar parâmetros com valor de tabela (TVPs).

Foi adicionado o suporte para o tipo de dados sql_variant

O JDBC Driver agora dá suporte aos tipos de dados sql_variant a serem usados com o SQL Server. Há também suporte para o tipo de dado sql_variant com recursos como TVPs e cópia em massa, com as seguintes limitações:

  • Para valores de data:

    Ao usar um TVP para preencher uma tabela que contém valores datetime, smalldatetime ou date, armazenados em uma coluna sql_variant, a chamada dos método getDateTime(), getSmallDateTime() ou getDate() no conjunto de resultados não vai funcionar e vai gerar a seguinte exceção:

    java java.lang.String cannot be cast to java.sql.Timestamp

    Como solução alternativa, em vez disso, use o método getString() ou getObject().

  • Usando um TVP com sql_variant para valores nulos:

    Se você estiver usando um TVP para preencher uma tabela e enviar um valor NULL ao tipo de coluna sql_variant, você vai se deparar com uma exceção. Atualmente não há suporte para a inserção de um valor NULL com o tipo de coluna sql_variant em um TVP.

Foi implementado o armazenamento em cache de metadados de instrução preparados

O JDBC Driver implementou o armazenamento em cache de metadados de instrução preparados para melhorar o desempenho. O driver agora dá suporte ao armazenamento em cache de metadados de instrução preparados no driver com as propriedades de conexão disableStatementPooling e statementPoolingCacheSize. Por padrão, esse recurso está desabilitado. Para saber mais, confira Armazenamento em cache de metadados de instrução preparados para o JDBC Driver.

Foi adicionado o suporte à Autenticação Integrada do Azure AD no Linux/macOS

O JDBC Driver agora dá suporte à Autenticação Integrada do Azure AD (Azure Active Directory) em todos os sistemas operacionais compatíveis (Windows, Linux e macOS) com Kerberos. Como alternativa, nos sistemas de operacionais Windows, os usuários podem autenticar com mssql-jdbc_auth-<version>-<arch>.dll.

A versão "ADAL4J (Biblioteca de Autenticação do Microsoft Azure Active Directory) para Java" foi atualizada: 1.4.0

A dependência Maven do Microsoft JDBC Driver foi atualizada para a versão 1.4.0 na "Biblioteca de Autenticação do Active Directory (ADAL4J) do Microsoft Azure para Java”. Para saber mais, confira Dependências de recurso do Microsoft JDBC Driver para SQL Server.

6.2

Baixar o Microsoft JDBC Driver 6.2 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 6.2 para SQL Server (tar.gz)

Número de versão: 6.2.2
Lançado: 29 de setembro de 2017

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

O Microsoft JDBC Driver 6.2 para SQL Server está totalmente em conformidade com as especificações 4.1 e 4.2 do JDBC. Os jars no pacote 6.2 são denominados de acordo com a compatibilidade da versão do Java. Por exemplo, recomendamos que o arquivo mssql-jdbc-6.2.2.jre8.jar do pacote 6.2 seja usado com o Java 8.

Versões 6.2

Número de versão: 6.2.2
Lançado: 3 de outubro de 2017
Problemas corrigidos:

  • Atualizada a dependência do ADAL4J para a versão 1.2.0 e a dependência do Azure Key Vault para a versão 1.0.0

Número de versão: 6.2.1
Lançado: 14 de julho de 2017
Problemas corrigidos:

  • Corrigido um problema ao executar consultas sem parâmetros usando preparedStatement

Número de versão: 6.2.0
Lançado: 30 de junho de 2017

Observação

Foi encontrado um problema com a melhoria do armazenamento em cache de metadados na RTW do JDBC 6.2, lançada em 29 de junho de 2017. A melhoria foi revertida e novos jars (versão 6.2.1) foram lançados em 17 de julho de 2017.

Outra melhoria atualizou a versão da biblioteca dependente do Azure Key Vault para 1.0.0, e novos jars (versão 6.2.2) foram lançados em 19 de outubro de 2017.

Baixe as atualizações mais recentes do JDBC Driver 6.2 pelos links acima, no GitHub ou na Central do Maven. Atualize seus projetos a fim de usar os jars da versão 6.2.2. Para saber mais, confira as notas sobre as versões 6.2.1 e 6.2.2.

Suporte do Azure AD para Linux

Conecte seus aplicativos Linux ao banco de dados SQL do Azure usando a autenticação do Azure AD por meio de métodos de token de acesso, nome de usuário/senha.

JVMs habilitadas para FiPS

O JDBC Driver agora pode ser usado em JVMs que são executados no modo de conformidade 140 da FIPS (Federal Information Processing Standard) para atender aos padrões federais de conformidade.

Melhorias na autenticação Kerberos

O JDBC Driver agora tem suporte para:

  • Método de senha/entidade de segurança para aplicativos em que a configuração Kerberos não pode ser modificada ou em que não é possível recuperar um novo token ou keytab. Esse método pode ser usado para realizar a autenticação em uma instância do SQL Server que permita apenas a autenticação Kerberos.
  • Autenticação entre realms que usa a Autenticação Integrada Kerberos sem configurar de forma explícita o servidor SPN. O driver agora calcula automaticamente o realm, mesmo quando ele não é fornecido.
  • Delegação Restrita de Kerberos ao aceitar credenciais de usuário representado como um objeto de credencial GSS por meio da fonte de dados. Essa credencial representada é usada para estabelecer uma conexão Kerberos.

Foram adicionados tempos limite

O JDBC Driver agora dá suporte aos seguintes tempos limite configuráveis. É possível alterá-los com base nas necessidades do seu aplicativo.

  • Tempo limite da consulta para controlar o número de segundos a aguardar antes que ocorra um tempo limite quando você está executando uma consulta.
  • Tempo limite para soquete a fim de especificar o número de milissegundos a aguardar antes que ocorra um tempo limite na leitura ou aceitação de um soquete.

6.1

Número de versão: 6.1.0
Lançado: 17 de novembro de 2016

O Microsoft JDBC Driver 6.1 para SQL Server está totalmente em conformidade com as especificações 4.1 e 4.2 do JDBC. Esta é a versão inicial de software livre do JDBC Driver. O código-fonte pode ser encontrado na Marca do GitHub v6.1.0. Ela compila os arquivos mssql-jdbc-6.1.0.jre8.jar e mssql-jdbc-6.1.0.jre7.jar, que correspondem à compatibilidade de versão do Java.

6,0

Baixar o Microsoft JDBC Driver 6.0 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 6.0 para SQL Server (tar.gz)

Número de versão: 6.0.8112
Lançado: 17 de janeiro de 2017

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

O Microsoft JDBC Driver 6.0 para SQL Server está totalmente em conformidade com as especificações 4.1 e 4.2 do JDBC. Os jars no pacote 6.0 são denominados de acordo com a conformidade deles com a versão da API do JDBC. Por exemplo, o arquivo sqljdbc42.jar, do pacote 6.0, está em conformidade com a API 4.2 do JDBC. Da mesma forma, o arquivo sqljdbc41.jar está em conformidade com a API 4.1 do JDBC.

Para ter certeza que você tem o arquivo sqljdbc41.jar ou sqljdbc42.jar correto, execute as seguintes linhas de código. Se a saída for "versão do driver: 6.0.7507.100", você terá o pacote JDBC Driver 6.0.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Always Encrypted

O driver dá suporte ao recurso Always Encrypted no SQL Server 2016. Esse recurso garante que dados confidenciais nunca sejam vistos em texto não criptografado em uma instância do SQL Server. O Always Encrypted opera criptografando os dados de forma transparente no aplicativo, de modo que o SQL Server manipula apenas os dados criptografados e não os valores de texto simples. Mesmo se a instância do SQL Server ou o computador host estiverem comprometidos, o invasor poderá obter apenas um texto cifrado com dados confidenciais. Para obter detalhes, veja Uso de Always Encrypted com o driver JDBC em Linux.

Nomes de domínio internacionalizados

O driver dá suporte a nomes de domínio internacionalizados (IDNs) para nomes de servidor. Para obter detalhes, confira as informações sobre o "uso de nomes de domínio internacionais" no artigo Recursos internacionais do JDBC Driver.

Consultas parametrizadas

O driver agora é compatível com a recuperação de metadados de parâmetro com instruções preparadas para consultas complexas, como subconsultas e/ou junções. Essa melhoria está disponível apenas no SQL Server 2012 e nas versões mais recentes.

Azure Active Directory

A Autenticação do Azure AD é um mecanismo de conexão com o Banco de Dados SQL do Azure usando identidades no Azure AD. Use a autenticação do Azure AD para gerenciar de forma centralizada as identidades de usuários do banco de dados e como uma alternativa à autenticação do SQL Server.

É possível usar o JDBC Driver 6.0 para especificar as credenciais do Azure AD na cadeia de conexão do JDBC para se conectar ao Banco de Dados SQL do Azure. Para obter detalhes, consulte a propriedade de autenticação no artigo Definindo as propriedades de conexão.

Parâmetros com valor de tabela

Os TVPs fornecem uma maneira fácil de realizar marshaling em várias linhas de dados de um aplicativo cliente do SQL Server sem exigir várias viagens de ida e volta ou uma lógica especial do lado do servidor para processar os dados. Você pode usar os TVPs para encapsular linhas de dados em um aplicativo cliente e enviar os dados para o servidor em um único comando parametrizado. As linhas de dados de entrada são armazenadas em uma variável de tabela, as quais você poderá operar usando o Transact-SQL. Para obter detalhes, confira as informações sobre o uso de parâmetros com valor de tabela.

Grupos de Disponibilidade AlwaysOn

O driver agora dá suporte a conexões transparentes para os Grupos de Disponibilidade AlwaysOn. O driver descobre rapidamente a topologia Always On atual da infraestrutura de servidor e conecta-se ao servidor ativo atual de maneira transparente.

4.2

Baixar o Microsoft JDBC Driver 4.2 para SQL Server (exe com extração automática)
Baixar o Microsoft JDBC Driver 4.2 para SQL Server (tar.gz)

Número de versão: 4.2.8112
Lançado: 24 de agosto de 2015

Se precisar baixar o driver em um idioma diferente daquele detectado para você, será possível usar esses links diretos.
Para o driver em um arquivo exe com extração automática: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol
Para o driver em um arquivo tar.gz: Chinês (Simplificado) | Chinês (Tradicional) | Inglês (Estados Unidos) | Francês | Alemão | Italiano | Japonês | Coreano | Português (Brasil) | Russo | Espanhol

O Microsoft JDBC Driver 4.2 para SQL Server está totalmente em conformidade com as especificações 4.1 e 4.2 do JDBC. Os jars no pacote 4.2 são denominados de acordo com a conformidade deles com a versão da API do JDBC. Por exemplo, o arquivo sqljdbc42.jar do pacote 4.2 está em conformidade com a API 4.2 do JDBC. Da mesma forma, o arquivo sqljdbc41.jar está em conformidade com a API 4.1 do JDBC.

Para ter certeza que você tem o arquivo sqljdbc42.jar ou sqljdbc41.jar correto, execute as seguintes linhas de código. Se a saída for "versão do driver: 4.2.6420.100", você terá o pacote JDBC Driver 4.2.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Suporte para JDK 8

O driver dá suporte à versão 8.0 do JDK, além do JDK 7.0, 6.0 e 5.0.

Conformidade do JDBC 4.1 e 4.2

O driver é compatível com as especificações da API Java Database Connectivity 4.1 e 4.2, além da 4.0. Para obter detalhes, confira a conformidade com o JDBC 4.1 para o JDBC Driver e a conformidade com o JDBC 4.2 para o JDBC Driver.

Cópia em massa

Você pode usar o recurso de cópia em massa para copiar rapidamente grandes quantidades de dados em tabelas ou em exibições nos bancos de dados do SQL Server. Para obter detalhes, confira Usando uma cópia em massa com o JDBC Driver.

Opção de reversão de transação XA

O driver tem novas opções de tempo limite para reversão automática existente de transações não preparadas. Para obter detalhes, veja como compreender as transações XA.

Nova propriedade de conexão principal Kerberos

O driver usa uma nova propriedade de conexão para facilitar a flexibilidade com conexões Kerberos. Para obter detalhes, confira Usando a autenticação integrada Kerberos para conectar-se ao SQL Server.

4.1

Número de versão: 4.1.8112
Lançado: 12 de dezembro de 2014

Suporte para JDK 7

O driver dá suporte à versão 7.0 do JDK, além do JDK 6.0 e 5.0.

O Itanium não tem suporte em aplicativos do JDBC Driver

O Microsoft JDBC Driver para SQL Server não tem suporte em computadores Itanium.

Confira também

Visão geral do JDBC Driver