Partilhar via


Notas de versão do Microsoft JDBC Driver para SQL Server

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

13.2

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

Número da versão: 13.2.1
Lançamento: 13/out/2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

13.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 13.2. GitHub, 13.2.0Central Maven
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 13.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-13.2.0.jre11.jar do pacote 13.2 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 22.0, 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 13.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.

13.2 Lançamentos

Número da versão: 13.2.1
Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 13.2.1:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.
  • Compatibilidade JDK 8 para tratamento de tipos de dados vetoriais
  • Falha resolvida PreparedStatementgetGeneratedKeys() com gatilhos
  • Inconsistência de valores fixos DatabaseMetaData.getIndexInfo()NON_UNIQUE
  • Exceção de posição inválida do cursor endereçada DatabaseMetaData.getIndexInfo()
  • Recuperação de sessão fixa para Azure SQL Database em modo de redirecionamento ligado

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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: 13.2.0
Lançamento: 15/ago/2025

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

Número da versão: 13.2.0
Lançamento: 15/ago/2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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 13.2

Funcionalidade Detalhes
Suporte a tipos de dados JSON Suporte nativo para o novo tipo de dados JSON do SQL Server com APIs para inserções, seleções, procedimentos armazenados e cópia em massa. Para mais informações, consulte Usar o tipo de dado JSON com o driver JDBC.
Dicas de pedidos para operações de cópia em massa Suporte para especificar dicas de ordem ao usar SQLServerBulkCopy para melhorar o desempenho da cópia em massa.
Adicionar novos URLs AKV confiáveis para FR e DE Registou quatro novos terminais Azure Key Vault e Managed HSM para França e Alemanha.
Suporte de tipos de dados vetoriais MUDANÇA DE RUPTURA Suporte nativo para o novo tipo de dados VECTOR do SQL Server com APIs para inserções, consultas, procedimentos armazenados e cópia em massa. Para mais informações, consulte Usar o tipo de dado vetorial com o driver JDBC.

Esta funcionalidade é uma mudança marcante. Versões anteriores dos drivers recebem tipos de dados vetoriais do servidor como strings JSON. A versão 13.2 reconhece nativamente o novo tipo de vetor SQL, expondo-o às aplicações como um tipo vetorial, por defeito. Para manter o comportamento anterior dos tipos de vetores expostos como cadeias JSON, defina a opção vectorTypeSupport de ligação para off. Para obter mais informações, consulte Definindo as propriedades de conexão.
Novas opções de ligação, quotedIdentifier, e concatNullYieldsNull Novas opções de ligação, quotedIdentifier e concatNullYieldsNull, para controlar as definições de sessão QUOTED_IDENTIFIER e CONCAT_NULL_YIELDS_NULL, tanto para novas ligações como para ligações em pool.
Suporte para tipos de dados temporais e monetários ao usar cópia em massa para operações de inserção por lote Suporte para inserções em lote de DATETIME, DATE, MONEY, etc., ao usar a opção useBulkCopyForBatchInsert.

Alterações no 13.2

Alteração Detalhes
Use sys.all_objects para filtragem precisa de funções e procedimentos. Atualizámos getFunctions() e getProcedures() para usarem sys.all_objects e assim obterem resultados corretos após a filtragem.

Correções na versão 13.2

Corrigir Detalhes
Correção para manipulação nula em tipos temporais com cópia em massa Lidar corretamente com valores nulos para tipos temporais quando sendTemporalDataTypesAsStringForBulkCopy é false. Edição #2702 do GitHub.
Corrigir a inserção de strings com a API de cópia em massa quando sendStringParametersAsUnicode é false Resolvido o problema em que as strings eram inseridas como arrays de bytes no modo de cópia em massa quando sendStringParametersAsUnicode está configurado para false. Edição #2704 do GitHub.
Recuperação de sessão com autenticação Microsoft Entra ID e modo de redirecionamento A informação de redirecionamento passa a ser seguida durante o restauro de sessão ao utilizar autenticação Microsoft Entra ID. Edição #2668 do GitHub.
Avisos de compilação Javadoc Limpa a sintaxe Javadoc inválida. Edição #2640 do GitHub.
OffsetDateTime Formatação em SQLServerDataTable O OffsetDateTimetoString() método era omitir segundos quando segundos são zero, o que resultava na rejeição desses registos pelo servidor. Usado DateTimeFormatter para evitar este formato inválido. Edição #2652 do GitHub.
Comparação de strings em SQLServerDataTable.equals() Substituído == por .equals() para cadeias de texto. Edição #2653 do GitHub.
PreparedStatement Cache de metadados para colunas encriptadas Perda fixa de metadados de tipo através da PreparedStatement reutilização. Edição #2663 do GitHub.
Tornar o módulo de segurança IBM opcional A dependência de segurança da IBM agora é opcional. Edição #2636 do GitHub.
Invalidar sessão de enclave ao reconectar O cache de sessão de enclave não é mais reutilizado em reconexões para evitar cache de sessão inválido após um failover. Edição #2638 do GitHub.
Gestão de erros de caminho de ficheiro em ConfigurableRetryLogic Tratamento robusto de erros para arquivos de configuração de repetição ausentes/ilegíveis. Edição #2650 do GitHub.
Correção de inserção de lote para incompatibilidade de nome de coluna que diferencia maiúsculas de minúsculas executeBatch() agora respeita a sensibilidade a maiúsculas e minúsculas das colações ao fazer corresponder nomes de coluna. Edição #2695 do GitHub.
releaseSavepoint tipos de exceção padronizados para SQLFeatureNotSupported SQLServerException substituído por SQLFeatureNotSupportedException para cumprir com a especificação JDBC. Edição #2583 do GitHub.
ActiveDirectoryPassword Autenticação descontinuada Adicionado aviso de substituição para o método de autenticação de senha do Microsoft Entra ID. Edição #2624 do GitHub.
Incluir índices Columnstore em getIndexInfo() Substituído sp_statistics por uma consulta personalizada para suportar todos os tipos de índice. Edição #2598 do GitHub.
Filtragem de esquemas corrigida em getSchemas() O que mudou: os esquemas garantidos são filtrados corretamente quando um nome de catálogo é fornecido. Edição #2643 do GitHub.
Aumento do limite de redirecionamento Aumento do salto máximo de redirecionamento de 1 para 10. Edição #2659 do GitHub.
Corrigir a consulta de propriedade da JVM em ligações SSL. Adicionada lógica abrangente de consulta de propriedade do sistema JVM que segue a hierarquia de resolução de propriedades Java padrão. Edição #2724 do GitHub.
Inserir corretamente caracteres acentuados ao usar cadeias de caracteres de cópia em massa e não Unicode Atualizado executeBatch() para passar o databaseCollation correto para a lógica de conversão. Garantia de que as matrizes de bytes sejam convertidas novamente em cadeias de caracteres usando o agrupamento de banco de dados real, evitando incompatibilidades de codificação. Edição #2727 do GitHub.
Tratar os comentários SQL no início da consulta no getGenerateKeys() método Substituí a ingénua verificação INSERT pela isInsert função para garantir que as chaves geradas são obtidas mesmo quando as consultas começam com comentários. Edição #2731 do GitHub.

Versões anteriores

12.10

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

Número da versão: 12.10.2 Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

12.10 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.10. GitHub, 12.10.0
Maven Central
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.10 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.10.0.jre11.jar do pacote 12.10 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 22.0, 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.10 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.

12.10 Lançamentos

Número de lançamento: 12.10.2
Lançado: 13 de outubro de 2025

Problemas corrigidos em 12.10.2:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.10.1
Lançado: 18 de junho de 2025

Problemas corrigidos em 12.10.1:

  • Atualizou o empacotamento OSGi para que com.ibm.security.auth.module e com.sun.security.auth.module sejam importações opcionais, evitando falhas de implantação.
  • Invalidar a sessão de enclave existente durante a (re)conexão
  • Atualizado readFromFile() no ConfigurableRetryLogic para tratar questões relacionadas com filePath
  • Aumentei o máximo noOfRedirections por ligação para 10
  • Definições de Param de Novo Tipo Fixo na lógica doExecutePreparedStatement
  • Recuperação de sessão fixa para Azure SQL Database em modo de redirecionamento ligado

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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 de lançamento: 12.10.0
Lançado: 07 de março de 2025

Baixe o Microsoft JDBC Driver 12.10.0 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.10.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.10

Funcionalidade Detalhes
Suporte a Java 23 O driver agora é compatível com o Java Development Kit (JDK) versão 23.0, além do JDK 21.0, 17.0, 11.0 e 1.8.
Adicionada uma função para definir SQLServerBulkCopy opções em PreparedStatement Para definir SQLServerBulkCopyOptions em PreparedStatement ao usar useBulkCopyForBatchInsert=true, foram introduzidas novas opções de string de ligação e um método de API setBulkCopyOptions.
Adicionada a funcionalidade de lógica de repetição configurável, suportando a repetição de instruções e de conexão. Adicionada lógica de repetição configurável para instruções SQL, permitindo que as regras sejam definidas na cadeia de conexão ou no arquivo mssql-jdbc.properties. As regras especificam os erros a serem repetidos, o número de tentativas e o tempo entre as tentativas. A lógica de repetição garante que as novas tentativas só ocorram quando as condições especificadas forem atendidas, como códigos de erro e consultas correspondentes.

Alterações em 12.10

Alteração Detalhes
Verificar se é nulo ao obter valores DTV Adicionei uma verificação para um valor nulo de a DTVImpl antes de chamar DTVImpl::getValue. Esta verificação mostra ganhos de desempenho em benchmarks internos. Essa correção altera o comportamento de getBinaryStream e getAsciiStream em ResultSet para que sejam compatíveis com as especificações da API JDBC. Retorna: um fluxo de entrada Java que entrega o valor da coluna do banco de dados como um fluxo de caracteres ASCII de um byte; se o valor for SQL NULL, o valor retornado será "null".
Adicionado com.ibm.security.auth.module e com.sun.security.auth.module como opção de importação Defina resolution=optional para essas importações OSGi para evitar falhas de implantação causadas por importações obrigatórias.
Foi revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente" e as alterações subsequentes relacionadas à funcionalidade. Reverteu o recurso devido a problemas e regressões introduzidos por essas alterações.
Registo MSAL alterado de FINEST para FINER Esta alteração é feita para reduzir a verbosidade dos logs e, ao mesmo tempo, fornecer detalhes suficientes para a resolução de problemas de autenticação.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, bouncycastlee juint.

Correções na versão 12.10

Corrigir Detalhes
Foi corrigido um NullPointerException quando uma operação de cópia em lote é executada numa coluna calculada. Corrigido um NullPointerException quando uma operação de cópia em massa é executada em uma coluna computada iterando sobre o conjunto de chaves em um mapa. Problema #2606 do GitHub.
Corrigida a resolução do módulo de login para opcional Corrigido o problema em que o manifesto do JAR continha uma declaração de importação não opcional em com.ibm.security.auth.module e com.sun.security.auth.module, que deveria ser declarada com resolution:=optional. Problema #2608 do GitHub.
Corrigido o âmbito de aplicação do BULK_COPY_OPERATION_CACHE Corrigido um problema em que BULK_COPY_OPERATION_CACHE era definido em um escopo global em vez do escopo da conexão, que causava acertos de cache incorretos entre conexões e possíveis problemas de falta de memória. Edição #2585 do GitHub.
Corrigido o problema com o método de verificação do isIBM para usar o módulo de login correto Corrigiu o método generateDefaultConfiguration para verificar a presença de com.sun.security.auth.module.Krb5LoginModule dinamicamente e utilizá-lo se disponível, caso contrário, reverter para com.ibm.security.auth.module.Krb5LoginModule. Edição #2576 do GitHub.
Problema resolvido com o CSV SQLServerBulkCopy definido setEscapeColumnDelimerts como verdadeiro. Corrigida uma regressão da versão 12.8.1 em que o método readLineEscapeDelimiters no SQLServerBulkCSVFileRecord não tratava do caso de um ficheiro CSV que não tivesse um carácter de nova linha no final da última linha. Problema #2573 do GitHub.
Conversão fixa OffsetDateTime para datas pré-gregorianas Correção da conversão de DateTimeOffset para OffsetDateTime para usar a classe Calendar, para lidar com datas pré-gregorianas. Problema #2565 do GitHub.
Funcionalidade fixa getGeneratedKeys para executar API Foi corrigida a funcionalidade getGeneratedKeys na API de execução para reportar corretamente a contagem de atualizações e os conjuntos de resultados subsequentes. Problema #2550 do GitHub.
Corrigido um problema em que SQLServerConnection podia entrar em um loop infinito Corrigiu um loop infinito em SQLServerConnection garantindo que todas as instruções em openStatements são encerradas e removidas explicitamente, e tornou bIsClosed e openStatements voláteis. Problema #2537 do GitHub.
Remoção corrigida de pontos de interrogação de rótulos de colunas (aliases) Correção para melhorar o tratamento de erros no método buildExecuteMetaData para gerenciar melhor SQLServerException, assegurando que os rótulos de coluna (aliases) com pontos de interrogação sejam processados corretamente. Edição #2535 do GitHub.
Corrigido o mecanismo de autenticação Kerberos para fornecer compatibilidade com Java 17 e superior A correção aborda a obsolescência do método Subject.getSubject() recorrendo à API de substituição quando uma exceção de obsolescência é lançada. Questão #2524 do GitHub.

12.8

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

Número da versão: 12.8.2 Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

12.8 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.8. GitHub, 12.8.0
Maven Central
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.8 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-12.8.0.jre11.jar do pacote 12.8 deve ser usado com Java 11 (ou superior).
Compatível com Java Development Kit (JDK) versão 22.0, 21.0, 17.0, 11.0 e 1.8. O Microsoft JDBC Driver 12.8 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.

12.8 Lançamentos

Número da versão: 12.8.2 Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 12.8.2:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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 de lançamento: 12.8.1 Lançado: 22 de agosto de 2024

Alterações no ponto 12.8.1:

  • Alteração do MSAL logging de FINER para FINEST

Problemas corrigidos na versão 12.8.1:

  • Ajustado o DESTINATION_COL_METADATA_LOCK no SQLServerBulkCopy, de modo a ser libertado corretamente em todos os casos.
  • Alterado o comportamento do driver para permitir que objetos de instrução preparados sejam reutilizados, prevenindo um erro de "várias consultas não são permitidas"
  • Revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente" e as alterações subsequentes relacionadas com ela.

Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.8.1 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.8.0
Lançado: 31 de julho de 2024

Baixar Microsoft JDBC Driver 12.8.0 para SQL Server (zip)
Download Microsoft JDBC Driver 12.8.0 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.8

Funcionalidade Detalhes
Suporte a Java 22 O driver agora é compatível com o Java Development Kit (JDK) versão 22.0, além do JDK 21.0, 17.0, 11.0 e 1.8.
Cache de credenciais adicionado ao usar a Credencial de Identidade Gerenciada ou a Credencial Padrão do Azure A fim de melhorar o desempenho e a confiabilidade do driver, o driver agora permite o cache das credenciais mencionadas anteriormente.
Permitir o armazenamento em cache do objeto SQLServerBulkCopy ao usar cópia em massa para inserção em lote Substitui o comportamento anterior, em que cada chamada de executeBatch() gerou um novo objeto SQLServerBulkCopy, armazenando em cache o objeto.
Adicionado cache de nível de conexão para metadados da coluna de destino na transferência em massa Melhora o desempenho adicionando cache no nível de conexão para metadados da coluna de destino em cenários de cópia em massa. Esse recurso é habilitado definindo a propriedade de cadeia de conexão recém-adicionada cacheBulkCopyMetadata como true (o valor padrão é false).
Adicionou-se um manipulador de mensagens do SQL Server e suporte para encadeamento de SQLException Adicionado um manipulador de mensagens do SQL Server que permite vários recursos, incluindo feedback adicional para consultas de longa execução, registo de erros universal e downgrade automático da gravidade da mensagem de erro de SQLException para SQLWarning. Além disso, esse recurso permite o encadeamento de SQLExceptions juntos para que todas as mensagens de erro estejam disponíveis para o usuário. Ver Erros de manuseamento.
Forneceu suporte completo para RFC4180 para operações de inserção em massa CSV Faltava suporte para campos entre aspas contendo linhas novas, para garantir total suporte com o RFC4180; este suporte foi agora adicionado.
Permitir a construção de uma instância microsoft.sql.DateTimeOffset a partir de um valor java.time.OffsetDateTime A conversão entre os dois tipos de dados já existia no driver usando um intermediário Timestamp. Essa adição remove esse intermediário, melhorando o desempenho e reduzindo o potencial de erros relacionados ao fuso horário.

Alterações em 12.8

Alteração Detalhes
Enum SQLServerSortOrder agora é público Mudou a visibilidade do enum SQLServerSortOrder para o público, o que permite aos usuários maior flexibilidade nas consultas que usam este enum.
Remover synchronized das substituições de Socket Incorretamente adicionados em alterações anteriores para confirmar com padrões de verificação de código, os métodos de seleção alterados não precisam, de fato, ser sincronizados e são alterados para refletir esse fato.
As alterações anteriores em RMERR/RMFAIL foram revistas ao definir RMFAIL como padrão. Alterações anteriores alteraram o valor de XAER_RMFAIL para XAER_RMERR para casos selecionados, no entanto, esses casos rapidamente se tornaram a maioria de todos os casos cobertos. A solução é alterar o padrão para RMFAIL e converter para RMERR para o oposto dos casos declarados anteriormente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, bouncycastlee msal.
Suporte revisto para TDSType.GUID Melhora a adição original de suporte para TDSType.GUID, permitindo a passagem direta do UUID para o método setObject.
Adicionou-se logging ao armazenamento de token em cache Adicionados mais registos para cenários de armazenamento em cache de tokens para ajudar na depuração.

Correções na versão 12.8

Corrigir Detalhes
Regressão fixa com especificação de nomes de argumento na sintaxe da instrução chamável Corrigiu uma regressão do 12.6.2 -> - 12.6.3, onde CallableStatements de determinado formato devolveu valores incorretos. Problema #2477 do GitHub.
Análise fixa para parênteses em procedimentos armazenados e funções Correção para um problema em que chamar uma função com parênteses no final numa instrução chamável, por exemplo, function() vs function, resultando no valor de retorno ser sempre 0. Esta alteração foi uma regressão de 12.6.2 --> 12.6.3. Problema do GitHub #2463.
Corrigido um erro em que o driver não estava respeitando CallableStatement com argumentos predefinidos. Corrigido um erro que era uma regressão de 12.5.0 --> 12.6.0, onde os argumentos padrão em declarações invocáveis estavam a ser ignorados. Problema #2446 do GitHub.
Correção para remover a classe TokenCredential quando o condutor não a exige. TokenCredentialClass não é necessário em SQLServerSecurityUtility e pode causar um NoClassDefFoundErrorlançado incorretamente. Essa correção remove a importação, substituindo-a por um Object genérico. Edição #2439 do GitHub.
Erro de conversão de string de data e hora corrigido para CallableStatements Corrigida uma exceção de conversão que ocorria ao chamar um parâmetro de entrada/saída de DateTime ao definir um valor de String. Problema #2436 do GitHub.
Construtor fixo SqlAuthenticationToken para aceitar o parâmetro correto O construtor de SQLAuthenticationToken estava incorreto, trabalhando com um parâmetro de entrada em segundos, quando deveria ser milissegundos. Edição #2424 do GitHub.
Correção para limpar o identificador de declaração preparada antes da reconexão. Isso resolve um problema em que as alças erradas eram usadas em um SQLServerPreparedStatement após a reconexão, limpando corretamente SQLServerPreparedStatement.prepStmtHandle antes de reestabelecer a conexão. Problema #2364 do GitHub.
Correção para limpar o cache de instruções preparadas ao redefinir a conexão do pool de declarações Isto resolve um problema onde, com o agrupamento de instruções ativado, a reutilização de uma conexão de um ConnectionPool resultava em entradas em falta ou inseridas incorretamente. Problema #2356 do GitHub.
Correção para desvincular socketTimeout do loginTimeout socketTimeout deve ter um limite superior de loginTimeout para o estabelecimento da conexão, mas não deve ter limite superior depois que o driver estiver conectado. Essa alteração corrige esse comportamento. Problema #2354 do GitHub.
Corrigir para verificar corretamente se o contador TDSCommand é nulo antes de tentar incrementá-lo Adiciona uma verificação que faltava para null no contador de TDSCommand, prevenindo um NullPointerException que poderia ocorrer. Questão #2353 do GitHub.
Corrigir procedimentos de invocação com parâmetros de saída usando sua sintaxe de quatro partes Corrige um problema em que a chamada de procedimentos armazenados com uma sintaxe de quatro partes (ou seja, com um servidor vinculado) resultava em um erro informando que o fluxo do protocolo TDS não é válido. Problema #2344 do GitHub.
Correção para escapar corretamente os parâmetros schema para getProcedures e getProcedureColumns Os métodos SQLServerDatabaseMetadatagetProcedures e getProcedureColumns não estavam escapando corretamente de certos caracteres (por exemplo, \) para o parâmetro schema. Esta alteração corrige esse problema. Problema do GitHub #2336.
Adicionado mapa de cache de token para corrigir o uso de token de autenticação não intencional para conexões subsequentes Isso corrige um problema em que as credenciais do cliente poderiam ser reutilizadas inadvertidamente. Enquanto o token de autenticação foi armazenado corretamente em cache, o driver estava reutilizando o token com apenas o segredo do cliente alterado. Edição #2334 do GitHub.
Suporte fixo para exec sintaxe de escape em CallableStatements Isto resolve um problema em que, após remover as chamadas encapsuladas sp_executesql/sp_prepexecpara executar CallableStatements rapidamente, as EXEC chamadas deixaram de funcionar. Edição #2325 do GitHub.
Correção para garantir que Money e SmallMoney estejam dentro dos intervalos corretos para cópia em massa Isso corrige um problema em que, ao usar cópia em massa com valores Money ou SmallMoney, a conversão de/para os valores pode causar um ArithmeticOverflowException. Problema #2309 do GitHub.
Correção para garantir que ResultSetMetadata para DatabaseMetadata.getColumns() esteja correto para todas as colunas Os metadados retornados estavam incorretos para algumas colunas, essa alteração corrige esse problema. Problema #2232 do GitHub.
Correção para desativar corretamente as novas tentativas de conexão quando connectRetryCount estiver definido como 0 Isso corrige o comportamento em que, mesmo com connectRetryCount definido como 0, o driver tentou tentar novamente até que loginTimeout fosse alcançado. Problema #2232 do GitHub. Problema #2188 do GitHub.
Correção para resolver um vazamento de ClassLoader de ActivityCorrelatorThreadLocal Corrige um problema em que, após alterações anteriores do driver para ActivityId, ThreadLocal no ActivityCorrelator nunca é removido do tópico.
Correção para executar procedimentos armazenados diretamente para chamadas RPC As chamadas RPC estavam usando a lógica anterior, sendo envolvidas em chamadas sp_executesql; Essa alteração corrige esse comportamento.

12,6

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

Número da versão: 12.6.5 Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

12.6 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.6. GitHub, 12.6.0
Maven Central
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.6 são nomeados de acordo com a compatibilidade da versão Java.

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

12.6 Lançamentos

Número da versão: 12.6.5
Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 12.6.5:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.4
Lançamento: 29 de agosto de 2024

Problemas corrigidos na versão 12.6.4:

  • Revertida a funcionalidade "Executar Procedimentos Armazenados Diretamente" e as alterações subsequentes relacionadas com ela.

Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.4 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.3
Lançado: 20 de junho de 2024

Problemas corrigidos na versão 12.6.3:

  • Problema resolvido onde TokenCredential a classe era necessária para ser importada
  • Regressão de conversão de cadeia de caracteres de carimbo de data/hora fixa
  • Regressão de valores predefinidos fixos SQLServerCallableStatement

Baixe o Microsoft JDBC Driver 12.6.3 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.3 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.2
Lançado: 23 de maio de 2024

Recursos adicionados na versão 12.6.2:

  • Adicionado armazenamento em cache de credenciais para Credencial de Identidade Gerenciada e Credencial Azure Padrão

Problemas corrigidos na versão 12.6.2:

  • Verifique se o dinheiro e o dinheiro pequeno estão dentro do intervalo correto para cópia em massa
  • Verifique se o contador TDSCommand é nulo antes de incrementar
  • Limpar cache de instruções preparadas ao redefinir a conexão do pool de instruções
  • Limpar o manipulador de declaração preparada antes de reconectar.
  • as chamadas RPC para CallableStatements são executadas diretamente
  • Objeto de token de autenticação corrigido para aceitar expiração em milissegundos
  • SocketTimeout não deve ser limitado por loginTimeout após a abertura bem-sucedida de uma ligação

Baixe o Microsoft JDBC Driver 12.6.2 para SQL Server (zip)
Baixe o Microsoft JDBC Driver 12.6.2 para SQL Server (tar.gz)

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.1
Lançado: 20 de fevereiro de 2024

Problemas corrigidos na versão 12.6.1:

  • Sintaxe de escape 'EXEC' corrigida para CallableStatements

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

Funcionalidade Detalhes
Suporte a 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 através do uso de novas propriedades de conexão useFlexibleCallableStatements O driver agora chama diretamente os procedimentos armazenados, em vez de envolver o procedimento em torno de exec sp_executesql, o que simplifica o procedimento e melhora o desempenho.
Propriedade da cadeia de conexão useDefaultJaasConfig adicionada. Quando definido como true, permite a autenticação Kerberos sem configuração externa extra.
Propriedade da cadeia de conexão useDefaultGSSCredential adicionada. Quando definido como true, permite que o driver crie GSSCredential em nome do usuário, ao usar o Native GSS-API para autenticação Kerberos.
Propriedade da cadeia de conexão calcBigDecimalPrecision adicionada. Quando definido como verdadeiro, permite ao driver calcular a precisão das BigDecimal entradas.
Adicionados novos registadores nomeados para tentativas de abertura de conexão e reconexões de resiliência de ligações inativas. As tentativas de abertura de conexão usam a categoria de registo Redirecionamento e podem ser usadas no nível de registo FINE. As reconexões de resiliência para conexões ociosas usam a categoria de log de resiliência e podem ser usadas nos níveis de log FINE ou FINER.

Alterações em 12.6

Alteração Detalhes
Alterada a forma como o IBM JDK é verificado para evitar problemas com ambientes OSGi Alterado de verificar apenas o nome do fornecedor para verificar tanto o nome do fornecedor como o da máquina virtual.
Sincronizado corretamente todas as chamadas para MSAL Evita que o motorista faça chamadas extras e prove diálogos desnecessários.
Foram adicionados mais erros que devem ser traduzidos em RMFAIL Adicionados mais casos, "redefinição de conexão por par" e "conexão expirada", que devem equivaler a RMFAIL
Alterada a forma como os carimbos de data/hora são usados na cópia em massa Mude o comportamento de cópia em massa de serializar e desserializar objetos Timestamp para usar os objetos diretamente, resultando numa melhoria de desempenho quando um utilizador estiver a usar muitos Timestamps.
Mudou socketTimeout para garantir que é corretamente inferior a loginTimeout AnteriormentesocketTimeout agia independentemente de loginTimeout levando a um comportamento potencialmente confuso, onde o motorista levaria mais tempo para sair do que o esperado. Esse problema é corrigido para que socketTimeout sempre tenha um limite superior igual a loginTimeout.
Ajustei a PreparedStatement cache para que se limpe sozinha antes de cada execução A PreparedStatement cache não estava a ser apagada corretamente, o que, para além da sua falta de frequência, podia causar problemas de memória ao longo do tempo. Essa alteração garante que o cache seja limpo antes de cada execução, evitando o acúmulo de objetos.
Atualizado para dependências mais novas do BouncyCastle Atualize de bcprov-jdk15on e bcpkix-jdk15on para bcprov-jdk18on e bcpkix-jdk18on, pois o primeiro não está mais sendo atualizado.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, bouncycastle, h2e msal.

Correções na versão 12.6

Corrigir Detalhes
Corrigida uma verificação nula em falta para e.getCause() Correção para um problema em que, quando uma exceção não tem causa, a exceção em si é passada adiante, impedindo que a exceção seja perdida. Questão #2299 do GitHub.
Foram corrigidos bloqueios no IOBuffer para evitar problemas de deadlocks que poderiam ocorrer Implementação fixa de bloqueios no IOBuffer, especificamente em torno de disableSSL, para evitar impasses que poderiam surgir em determinadas situações. Problema #2288 do GitHub. Problema #2265 do GitHub.
Correção para um problema com carimbos de data/hora e cópia em massa para inserção em lote O fuso horário fixo não está sendo aplicado corretamente aos carimbos de data/hora quando inserido usando a inserção em lote com cópia em massa. Edição #2271 do GitHub.
Corrigidos getters e setters ausentes para useBulkCopyForBatchInsert Correção para um problema em que o comportamento não era o mesmo entre SQLServerConnection e SQLServerConnectionPoolProxy, quando deveria ser, devido à falta de um getter e um setter no useBulkCopyForBatchInsert. Problema #2245 do GitHub.
Consulta fixa de metadados de cópia em massa para usar dados armazenados em cache, se disponíveis Correção de um problema em que, apesar dos dados estarem armazenados em cache, as chamadas para metadados das colunas eram feitas a cada vez. Problema #2224 do GitHub.
Corrigido um teste de escala em falta BigDecimal para valores TVP Solução para um problema em que, ao escrever valores de linha TVP, os valores de entrada não eram devidamente filtrados para a escala BigDecimal. Problema #2222 do GitHub.
Corrigido schemaPattern em SQLServerDatabaseMetadata para garantir que os métodos que utilizam o parâmetro o escapem corretamente. Correção para um problema em que schemaPattern o único padrão não estava a ser escapado corretamente no SQLServerDatabaseMetadata. Problema #2186 do GitHub.
Correção para um problema em que um SQLState nulo era retornado ao tentar converter uma data para um valor de tipo longo. Correção para um problema em que, quando xopenStates é definido como true, o driver não retorna o código de estado SQL-99 esperado em uma instância específica. Problema #2167 do GitHub.
Erro getMetaData corrigido para consultas que contêm TOP Correção para um problema em que, ao usar o qualificador TOP numa consulta, o driver devolve um erro relativo a ParameterMetadata. Questão #1776 do GitHub.
Corrigido um problema de análise de nome de tabela ao usar inserções em lote Correção para um problema em que declarações de inserção com ausência de espaço em branco funcionavam corretamente em situações normais, mas não ao utilizar inserções em lote. Edição #1534 do GitHub.
Correção de um problema com ParameterMetadata e índices inválidos Correção de um problema em que ParameterMetadata não verificava corretamente e lançava exceções para um índice inválido 0. Problema #1490 do GitHub.
Comportamento fixo do ActivityID em ActivityCorrelator Corrigido a forma como o ActivityID era definido e usado para estar mais alinhado com o comportamento de outros drivers da Microsoft.
Correção para ignorar colunas computadas ao usar cópia em massa de dados para inserção em lote Corrigido o comportamento de cópia em massa para ignorar colunas computadas e permitir inserções em lote, quando anteriormente a inserção falhava e retornava um erro citando essas colunas computadas.
Comportamento de driver corrigido em relação a assinaturas ao usar o Java Key Store e o Azure Key Vault Correção de um problema em que o driver não estava verificando corretamente a assinatura, ao usar o Java Key Store, e adicionando uma nova API para assinar metadados de chave mestra de coluna (e retornar a assinatura gerada) para uso com o Java Key Store e o Azure Key Vault
Corrige getObject()a conversão errada de DateTimeOffset Correção para um problema ao chamar ResultSet.getObject() numa coluna DateTimeOffset, com LocalDate/LocalTime/LocalDateTime como argumento de classe, o valor na coluna seria convertido para o fuso horário local.

12.4

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

Número da versão: 12.4.3
Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

12.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.4. GitHub, 12.4.0.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.4 são nomeados de acordo com a compatibilidade da versão Java.

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

12.4 Lançamentos

Número da versão: 12.4.3 Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 12.4.3:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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 de lançamento: 12.4.2 Lançado: 21 de setembro de 2023

Problemas corrigidos na versão 12.4.2:

  • Reverteu-se a verificação de IBM para a do fornecedor e adicionou-se uma verificação adicional de nome de máquina virtual para eliminar falsos positivos.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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çado: 24 de agosto de 2023

Alterações no ponto 12.4.1:

  • Os nomes de parâmetros SQL preparados agora têm espaçamento automático aplicado

Problemas corrigidos na versão 12.4.1:

  • Consulta getUserName fixa de metadados em contexto de segurança personificado na base de dados Azure SQL
  • Correção da deteção do IBM JDK
  • Corrigido um erro em que a assinatura não era verificada para o Java Keystore e adicionar a API signColumnMasterkeyMetadata ao JKS e AKV.
  • Adicionada a localização das cadeias de caracteres de erro que faltavam na versão original.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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çado: 31 de julho de 2023

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

Funcionalidade Detalhes
Suporte a 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.
Propriedade de string de conexão de retorno de chamada de token de acesso adicionada Complementa o callback do token de acesso implementado anteriormente, permitindo a passagem do nome da classe de implementação do callback na string de ligação.
Suporte adicionado para ActiveDirectoryServicePrincipalCertificate Melhoria na experiência do utilizador ao suportar ActiveDirectoryServicePrincipalCertificate da Biblioteca de Identidades do Azure através da opção de ligação authentication=ActiveDirectoryServicePrincipalCertificate.
Adicionado outro caso para XAER_RMFAIL O driver ainda estava retornando XAException com erro XAER_RMERR em alguns casos. Um caso extra foi adicionado ao tratamento de erros XA para resolver esse problema.

Alterações em 12.4

Alteração Detalhes
Lógica de autenticação federada atualizada para utilizar um cache persistente de tokens ao obter o token. Esta atualização melhora o desempenho em cenários de busca de token e permite mais facilmente a compatibilidade com versões futuras do MSAL.
Permitir que o parceiro de failover seja utilizado se houver um timeout de socket Permite uma tentativa de reconexão com um parceiro de failover fornecido após um tempo limite de conexão.
Melhor desempenho ao criar definições de tipo de parâmetro Ao pré-calcular tamanhos de matrizes e construtores de cadeias de caracteres usados em buildParamTypeDefinitions e ao remover alocações de cadeias de caracteres desnecessárias, melhore o desempenho onde este método é utilizado.
Alterei serverName o pacote enviado LOGIN para incluir instanceName serverName agora é anexado ao final de instanceName em pacotes de LOGIN.
Método atualizado supportTransaction para refletir se o servidor suporta transações Resolve um problema em que connection.rollback não funcionava para a base de dados do Azure Synapse, uma vez que a Sinapse do Azure não suporta a sintaxe utilizada no supportTransaction.
Atualizar as chamadas sp_cursor para que os nomes das tabelas sejam passados em vez de uma cadeia vazia Resolve um problema em que atualizações inconsistentes de ResultSet linhas eram recebidas ao atualizar tabelas um-para-muitas.
Atualizado supportsLikeEscapeClause() para verificar o Azure Data Warehouse Resolve um problema em que supportsLikeEscapeClause estava a retornar true para AzureDW, apesar de não ser explicitamente suportado.
Atualizado para a especificação JDBC OSGi mais recente Atualize da osgi.compendium 5.0.0 para a 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, h2e msal.

Correções na versão 12.4

Corrigir Detalhes
Problemas de desempenho e memória corrigidos presentes com BigDecimal Reverte todas as alterações, desde a versão 12.2, relativas a BigDecimal. Essa correção resolve os problemas de desempenho observados. Os utilizadores precisam de ter cuidado ao usar BigDecimal para evitar os problemas de truncamento que já foram resolvidos. Questão #2176 do GitHub.
Validação de certificado de servidor fixo para encrypt=strict Correção para garantir que o certificado do servidor seja validado corretamente nos casos em que encrypt está definido como strict. Questão #2174 do GitHub.
Corrigido lockTimeout, que não surtia efeito quando o modo de redirecionamento estava definido no Azure DB Corrigido quando lockTimeout é definido, pois só deve ser aplicado a conexões de fora do Azure, e não de dentro do Azure, como era anteriormente. Edição #2110 do GitHub.
Corrigido um número elevado de threads ao usar findSocketUsingThreading Corrige um problema em que uma exceção não detetada levava à interrupção das chamadas de sono em processos anteriores, fazendo com que as repetições ocorressem demasiado rapidamente. Problema #2104 do GitHub.
Condição de corrida do temporizador compartilhado fixo Corrigida uma possível condição de corrida na classe SharedTimer. Problema #2085 do GitHub.
Corrigido um erro com os procedimentos armazenados e o retorno de resultado zero metaQuery. Correção para um problema em que, se metaQuery não retornasse nenhum resultado após a execução de um procedimento armazenado, esse problema retornaria um erro indefinido de parâmetro. Problema #2063 do GitHub.
Corrigidas as inserções de lote inválidas quando a ordem das colunas fornecidas na inserção difere da do esquema da tabela. Correção para um problema em que o uso de useBulkCopyForBatchInsert=true pode levar à confusão de colunas e a dados inválidos. Problema #1992 do GitHub.
Corrigido o tratamento de erros XA para relançar XAER_RMFAIL em vez de XAER_RMERR Correção para um problema em que o driver retornaria XAException com o código de erro XAER_RMERR se houvesse failover do SQL Server do nó principal para o nó de espera ao confirmar uma transação XA. Problema #1432 do GitHub.
Correções no comportamento do ID de atividade e do ID do cliente para manter a consistência com a especificação JDBC O comportamento do ID da atividade foi corrigido para se manter constante durante toda a vida do processo, e sempre enviar o ID da atividade em PRELOGINe incrementar a sequência para cada nova conexão. A ID do cliente foi também corrigida para permanecer durante todo o processo.

12.2

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

Número da versão: 12.2.1
Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

12.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 12.2. GitHub, 12.2.0.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 12.2 são nomeados de acordo com a compatibilidade da versão Java.

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

12.2 Lançamentos

Número da versão: 12.2.1 Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 12.2.1:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.2.0
Lançado: 31 de janeiro de 2023

Novos recursos na versão 12.2

Funcionalidade Detalhes
Suporte a Java 19 O driver agora é compatível com o Java Development Kit (JDK) versão 19.0, além do JDK 17.0, 11.0 e 1.8.
Adicionado suporte para callback de token de acesso Permite ao código do cliente registar um callback num DataSource que devolve um token de acesso.
Suporte adicionado para DefaultAzureCredential Melhoria da experiência do utilizador suportando DefaultAzureCredential e IntelliJCredential da Biblioteca de Identidades do Azure através da opção de ligação authentication=ActiveDirectoryDefault.
Adicionada uma nova propriedade datetimeParameterType de ligação para especificar o tipo de dado a usar para parâmetros de data/hora Adicionada uma propriedade de conexão datetimeParameterType, que permite aos usuários especificar explicitamente conversões para datetime ou datetime2, proporcionando maior compatibilidade em bancos de dados mais antigos.

Alterações em 12.2

Alteração Detalhes
Tornou o driver compatível com o Loom Substitui synchronized(foo) por locks de reentrada para melhorar o desempenho ao utilizar o Loom.
A autenticação de Identidade Gerenciada usa a biblioteca de Identidades do Azure Substitui o código interno do driver para obter e armazenar em cache tokens de Managed Identity com a biblioteca Azure Identity. Essa alteração adiciona suporte de Identidade Gerenciada para mais serviços do Azure em relação ao que o driver suportava anteriormente.
Tornou o MSAL uma dependência opcional Tornou msal4j uma dependência opcional novamente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcprov-jdk15on, bcpkix-jdk15one msal.
Atualização para verificar dinamicamente a ExtendedSocketOption classe Corrige um erro em que um ExtendedSocketOptions ausente estava a devolver um NoClassDefFoundError.

Correções na versão 12.2

Corrigir Detalhes
Corrigido o estado nulo do SQL e o código de erro zero quando a exceção do banco de dados é lançada Correção para um problema em que, após o erro SQL, o estado do SQL e o código de erro mostraram informações incorretas. Problema #2015 do GitHub.
Recuperação de conexão ociosa fixa para que unprocessedResponseCount não seja diminuída demais unprocessedResponseCount somente deverá ser diminuído quando doneToken.isFinal for verdadeiro; estava sendo diminuído independentemente disso. Problema #1971 do GitHub.
Corrigida a conexão com o host SQLServer errado Corrige um problema de simultaneidade em que, quando um driver está se conectando a vários hosts SQLServer, uma conexão pode ser estabelecida com o host errado. Questão #1964 no GitHub.
Corrigido o erro updateCount A contagem de atualizações incorretas pode acontecer em casos verdadeiros/falsos para enablePrepareOnFirstPreparedStatementCall e para ambos prepexec/prepare. Problema #1961 do GitHub.
Corrigidos problemas de concorrência nos métodos de ofuscação de segurança para encriptação e desencriptação da palavra-passe do repositório de confiança. Adicionadas trancas para encriptar/desencriptar na ofuscação de senha no truststore. Problema #1939 do GitHub.
Corrigido o problema de capitalização do nome da conta de 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. Questão #1923 do GitHub.
Corrigido bug de cancelamento de consulta Corrigido erro de cancelamento de consulta que ocorre de forma intermitente em consultas em lote. Problema #1896 do GitHub.
Corrigidos erros de declarações chamáveis Corrige erros na instrução SQL "índice fora dos limites" e "parâmetro não definido". Questão #1871 do GitHub.
Verificação fixa do token DONE ao buscar conjuntos de resultados Adiciona um caso perdido à correção anterior de DONE_ERROR, em que o driver ignorou o estado de DONE_ERROR do servidor, resultante de uma sessão terminada. Edição #1846 do GitHub. Problema #1505 do GitHub.
Certifique-se de que batchParamValues seja limpo em todos os casos ao executar um lote Resolve um problema em que os lotes não foram devidamente limpos em caso de falha ao utilizar a atualização em massa. Problema #1767 do GitHub.
Precisão fixa enviada ao usar BigDecimal Resolve um problema em que, por defeito, BigDecimal os valores eram enviados com a máxima precisão, o que podia resultar num arredondamento decimal indesejado. Questão #1489 do GitHub. Edição #942 do GitHub
Protocolo de atestado fixo NONE funcionar em todos os casos Corrigida a lógica por trás do protocolo de atestado NONE para funcionar em todos os casos, e não apenas em específicos.
Condição fixa de corrida em SecureStringUtil Fixou uma condição de corrida em SecureStringUtil durante a criação de SecureStringUtil.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

11.2

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

Número da versão: 11.2.4
Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

11.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 11.2. GitHub, 11.2.0.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 11.2 são nomeados de acordo com a compatibilidade da versão Java.

Por exemplo, o arquivo mssql-jdbc-11.20.jre17.jar do pacote 11.2 deve ser usado com o Java 17.
Compatível com Java Development Kit (JDK) versão 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.

11.2 Versões

Número da versão: 11.2.4
Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 11.2.4:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.3
Lançado: 12 de janeiro de 2023

Problemas corrigidos na versão 11.2.3:

  • Corrigido o estado nulo do SQL e o código de erro zero quando a exceção do banco de dados é lançada
  • Corrigidos os valores das contagens de atualização incorretas quando o tempo limite ocorre em consultas em lote.
  • Corrigida a data de expiração incorreta do token ao usar o Azure Functions
  • Corrigida a conexão com o host SQLServer errado

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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.2
Lançado: 15 de dezembro de 2022

Problemas corrigidos na versão 11.2.2:

  • Corrigido bug de resiliência de conexão inativa
  • Limpar o cache do descritor de instruções preparadas durante a reconexão ociosa
  • Corrigido erro de índice fora dos limites na instrução chamável
  • Verificação fixa do token DONE ao buscar conjuntos de resultados
  • Erro intermitente corrigido: "Erro interno durante a desencriptação: Incompatibilidade de etiquetas!"

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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:

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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çado: 4 de agosto de 2022

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

Funcionalidade Detalhes
Suporte a 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.
Adicionado suporte a IPv6 configurável 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, consulte Definindo as propriedades de conexão.
Adicionado suporte para preparar a seleção de métodos Foi adicionada uma nova propriedade prepareMethod de string de ligação para alternar entre o uso de sp_prepare e sp_prepexec. Use a nova configuração de conexão prepareMethod para controlar o comportamento. Para obter mais informações, consulte Definindo as propriedades de conexão.
Adicionada serverCertificate propriedade de ligação para encrypt=strict Adicionei uma serverCertificate propriedade que é o caminho para o ficheiro de certificado do servidor (em formato PEM). Usado para validação quando a configuração de encrypt está definida para strict. Para obter mais informações, consulte Definindo as propriedades de conexão.
Chamadas de metadados de parâmetros de cache As informações relacionadas à criptografia para consultas parametrizadas agora podem ser armazenadas em cache. Veja Utilizar Always Encrypted com o driver JDBC.
Adicionado suporte para inserção em massa de valores GUID nulos Resolve um problema em que a inserção de valores nulos não era possível no modo de inserção em massa.
Adicionado suporte para armazenamento em cache de tokens de identidade gerenciados Permite o armazenamento em cache de tokens obtidos de pontos de extremidade de identidade gerenciados.

Alterações no 11.2

Alteração Detalhes
Suporte para o TDS 8.0 adicionando a opção "strict" para criptografar a propriedade da conexão ALTERAÇÃO SIGNIFICATIVA A propriedade de conexão Encrypt passou a ser do tipo string.
Adicionada verificação para o ALPN negociado Verifica se o Protocolo de Camada de Aplicação foi negociado com êxito.
Adicionada uma opção para enclaveAttestationProtocol Adicionada opção do protocolo NONE para que enclaves seguros possam ser utilizados sem atestado.
Permitir reordenar serverName na string de conexão Valida que o serverName campo da cadeia de ligação não tem sinal igual.
Adicionado melhor log de erros para biblioteca MSAL ausente Foi adicionada uma mensagem de erro quando o MSAL está ausente durante o uso de ActiveDirectoryServicePrincipal.
A resiliência da ligação inativa foi refatorada para usar o timeout existente SharedTimer Melhoria da eficiência com a Resiliência de Conexão Ociosa ao utilizar o recurso existente SharedTimer.
Enviar TDS versão 8 no Login7 no modo estrito Foram adicionadas informações adicionais ao pacote Login7 ao incluir a versão 8 do TDS quando encrypt=strict.
Alterou o valor padrão loginTimeout para 30s Mudei o valor padrão loginTimeout de 15 segundos para 30 segundos para permitir mais tempo para as ligações iniciais serem resolvidas antes de expirar.
A dependência msal4j é agora explícita. Adicionada uma dependência explícita para msal4j (era uma dependência transitiva em versões anteriores).
Dependências atualizadas Versões de dependência atualizadas para azure-identity e azure-security-keyvault-keys.

Correções na versão 11.2

Corrigir Detalhes
Erro corrigido causado por preparedMethod=prepare Corrigido erro intermitente do identificador de instrução preparada nula causado por sp_prepare quando usado com consultas em lote. Issue do GitHub #1880.
Corrigi um erro em que estabelecer múltiplas ligações em paralelo pode lançar um IndexOutOfBoundsException Condição de corrida corrigida com addressList, que pode resultar em IndexOutOfBoundsException ao estabelecer múltiplas ligações GitHub Problema #1852.
Correção das falhas de asserção que ocorrem ao cancelar a instrução "insert into" Correção para um problema em que o driver pode desencadear uma asserção ao cancelar uma instrução (GitHub Issue #1849).
Corrigida uma exceção que não era lançada como esperado quando a sessão é terminada no banco de dados SQL Adicionada verificação do token de estado DONE_ERROR, que pode ocorrer devido a uma sessão terminada no servidor GitHub Issue #1846.
Intervalo de repetição de identidade gerenciada Corrigido o intervalo de repetição da Identidade Gerenciada para recuar corretamente exponencialmente Problema #1765 do GitHub.
Removi uma chamada extra para executeCommand() dentro de connectionCommand() Removi uma chamada extra a executeCommand que estava a causar problemas de desempenho para alguns utilizadores GitHub Issue #1669.
Corrigido erro de token desconhecido com selectMethod Corrigido erro de token desconhecido 0xA3 quando o cursor selectMethod é usado com classificação de dados.

10.2

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

Número da versão: 10.2.4 Lançado: 13 de outubro de 2025

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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çado: 13 de dezembro de 2022

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

10.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 10.2. GitHub, 10.2.0.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 10.2 são nomeados de acordo com a compatibilidade da versão Java.

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

10.2 Lançamentos

Número da versão: 10.2.4
Lançado: 13 de outubro de 2025

Problemas corrigidos na versão 10.2.4:

  • Corrigido CVE-2025-59250: Vulnerabilidade de falsificação no driver JDBC para SQL Server: a validação incorreta de entrada no driver JDBC para SQL Server permite que um invasor não autorizado execute falsificação na rede.

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

Problemas corrigidos na versão 10.2.3:

  • Corrigidos os valores das contagens de atualização incorretas quando o tempo limite ocorre em consultas em lote.
  • Corrigida a data de expiração incorreta do token ao usar o Azure Functions
  • Corrigido o estado nulo do SQL e o código de erro zero quando a exceção do banco de dados é lançada

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

Problemas corrigidos na versão 10.2.2:

  • Limpar cache de instruções preparadas em reconexões de resiliência em conexões ociosas
  • Correção para definir as opções estendidas de KeepAlive
  • Problema resolvido em que o condutor pode afirmar ao cancelar uma declaração
  • Corrigido erro de índice fora dos limites na instrução chamável
  • Corrigido o problema de não verificar erros de token DONE para que as exceções fossem ignoradas
  • Corrigido 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 inativa para usar o existente SharedTimer
  • Corrigido o intervalo de tentativas de autenticação da Identidade Gerida para retroceder corretamente de forma exponencial.
  • Eliminada chamada supérflua para executeCommand() dentro de connectionCommand()

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

Funcionalidade Detalhes
Suporte a Java 17 O driver agora é compatível com o Java Development Kit (JDK) versão 17.0, além do JDK 11.0 e 1.8.
Suporte à resiliência de conexão inativa Agora, a resiliência de conexão ociosa é suportada. Ver Resiliência da Ligação (JDBC).
Provedores de armazenamento de chaves multiusuário O driver agora oferece suporte a provedores de Key Store ao nível de conexão e instrução para suportar cenários de múltiplos utilizadores. Veja Utilizar Always Encrypted com o driver JDBC.

Alterações em 10.2

Alteração Detalhes
Definir encriptação como verdadeiro por padrão BREAKING CHANGE criptografia TLS está habilitada por padrão.
Validação do certificado quando a encriptação é falsa ALTERAÇÃO DE RUPTURA Quando encriptação é falsamente atribuída mas o servidor requer encriptação, o certificado é validado com base nas definições de configuração da trustServerCertificate ligação.
aadSecurePrincipalId e aadSecurePrincipalSecret descontinuado As propriedades de ligação aadSecurePrincipalId e aadSecurePrincipalSecret estão obsoletas. Em vez disso, use nome de usuário e senha.
API getAADSecretPrincipalId foi removida ALTERAÇÃO SIGNIFICATIVA A API getAADSecretPrincipalId foi removida por motivos de segurança.
Suporte SQL_variant Foi adicionado suporte para o tipo de dados SQL_variant ao recuperar DateTimeOffset.
Aleatório não bloqueante no Linux Atualizado para usar uma chamada aleatória sem bloqueio ao gerar um GUID para pacotes de enclave.
Resolução CNAME para domínio A resolução CNAME foi adicionada quando o realm é especificado.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gsone bouncycastle.

Correções na versão 10.2

Corrigir Detalhes
O TDSParser está bloqueado no TDS_COLMETADATA Corrigido: TDSParser bloqueado em TDS_COLMETADATA, o que poderia resultar em certas consultas não responderem. Edição #1661 do GitHub

9.4

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

9.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 9.4. GitHub, 9.4.0.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 9.4 são nomeados de acordo com a compatibilidade da versão 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 Java Development Kit (JDK) versão 16.0, 11.0 e 1.8. O Microsoft JDBC Driver 9.4 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 16.0, além do JDK 11.0 e 1.8.

9.4 Versões

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

Problemas corrigidos na versão 9.4.1:

  • Corrigido um possível problema em que o driver para de responder quando encontra TDS_COLMETADATA sem suporte
  • Conversão fixa de LocalDateTime e LocalTime para String em Bulk Copy

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

Funcionalidade Detalhes
Suporte a Java 16 O driver agora é compatível com o Java Development Kit (JDK) versão 16.0, além do JDK 11.0 e 1.8.
Suporte a conexões de replicação Agora há suporte para conexões de replicação. Veja Definindo as propriedades de conexão.
Domínio de autenticação de Kerberos personalizado O driver agora oferece suporte à especificação de um território de autenticação personalizado ao usar a autenticação Kerberos. Veja Definindo as propriedades de conexão.
Abrir nova tentativa de conexão As propriedades de conexão connectRetryCount e connectRetryInterval são adicionadas para configurar novas tentativas automáticas ao abrir conexões. Consulte Definindo as propriedades de conexão para obter detalhes sobre essas novas propriedades.

Alterações na versão 9.4

Alteração Detalhes
Azure Key Vault Fornecedor Várias conexões sucessivas podem ser abertas para especificar diferentes informações do provedor do Azure Key Vault.
Mensagens de erro atualizadas As mensagens de erro relacionadas às exceções do Enclave agora incluem um link para um guia de solução de problemas.
As mensagens de erro relacionadas a falhas de autenticação do Ative 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 para o banco de dados durante PRELOGIN.
ID do processo do cliente O ID do processo do cliente agora é enviado para o servidor quando executado em Java 9+. O Java 8 mantém a funcionalidade anterior de enviar 0 para o ID do processo do cliente.
Dependências atualizadas Versões de dependência atualizadas para azure-identity, azure-security-keyvault-keys, gson, antlre bouncycastle.
Removidas referências desnecessárias Removidas as referências de classe específicas do Java 9 não utilizadas do jar do Java 8

Correções na versão 9.4

Corrigir Detalhes
Edição #1499 do GitHub Corrigido: A falha do batch ocorre quando 'sempre encriptado' está ativado na string de ligação e clearParameters é chamado.
Edição #1632 do GitHub Corrigido: Pequeno vazamento de memória na nova conexão.
Edição #1565 do GitHub Correção para um problema em que trustStorePassword é nulo ao usar applicationIntent=ReadOnly
Edição #1568 do GitHub Correção para um problema em que o token redirecionado contém instância nomeada em servername
Edição #1531 do GitHub Desbordamento de inteiros potenciais fixos em TDSWriter.writeString()

9.2

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

9.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 9.2. GitHub, 9.2.1.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 9.2 são nomeados de acordo com a compatibilidade da versão Java.

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

9.2 Lançamentos

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

Problemas corrigidos na versão 9.2.1:

  • Solução para um problema com o segredo de cliente estar vazio durante ActiveDirectoryServicePrincipal autenticação no ambiente do Azure.

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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 JDK 15

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

Adicionado suporte para a Autenticação Interativa do Azure Ative Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora oferece suporte à autenticação no Cofre da Chave do Azure por meio de autenticação interativa. Veja Ligar usando a autenticação do Microsoft Entra.

Adicionado suporte para a Autenticação Principal do Serviço Azure Ative Directory

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 9.2 para SQL Server agora oferece suporte à autenticação no Cofre de Chaves do Azure usando a ID do cliente e o segredo de uma identidade de entidade de serviço. Veja Ligar usando a autenticação Microsoft Entra.

Biblioteca do Azure Key Vault atualizada para utilizar a versão mais recente da biblioteca do Azure Key Vault.

Alterações na biblioteca 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 os equivalentes mais modernos do Azure Key Vault e do Azure Identity. ALTERAÇÃO DE DEPENDÊNCIA Certifique-se de atualizar as suas dependências de aplicação se utilizar a autenticação do Azure Active Directory ou o Azure Key Vault. Consulte os requisitos de dependência quando trabalhar com o provedor do Azure Key Vault ou autenticação do Azure Active Directory.

Ativado o uso de useBulkCopyForBatchInsert para servidores Synapse Analytics que não sejam do Azure.

useBulkCopyForBatchInsert alterações para servidores que não são do Azure Synapse Analytics Detalhes
O Microsoft JDBC Driver 9.2 agora permite a API de cópia em massa para operação de inserção em lote em servidores Synapse Analytics que não sejam do Azure. Consulte sobre como usar a API de cópia em massa para a operação de inserção em lote.

8,4

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

8.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 8.4. GitHub, 8.4.1.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 8.4 são nomeados de acordo com a compatibilidade da versão Java.

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

8.4 Lançamentos

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

  • Correção de um problema de incompatibilidade entre SQLServerConnectionPoolProxy e delayLoadingLobs
  • Corrigido um possível problema de NullPointerException com delayLoadingLobs
  • Correção para um problema com a desencriptação de chaves de criptografia de coluna ao usar o Armazenamento de Certificados do Windows

Número da 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 Java Development Kit (JDK) versão 14.0, além do JDK 11.0 e 1.8.

Adicionado suporte para autenticação no Cofre da Chave do Azure usando a Identidade Gerenciada

Adição de tipo de autenticação Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora oferece suporte à autenticação no Cofre da Chave do Azure usando a Identidade Gerenciada. Veja Utilizar Always Encrypted com o driver JDBC.

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

Modificações de cópia em massa no Azure Data Warehouse Detalhes
Microsoft JDBC Driver 8.4 adiciona uma nova propriedade de conexão, sendTemporalDataTypesAsStringForBulkCopy. Esta propriedade booleana é VERDADEIRA por padrão. Consulte Utilizar cópia em massa com o driver JDBC.

Adicionado suporte para cache de DNS SQL do Azure

Cache de DNS Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server agora oferece suporte ao cache de DNS no SQL Server em VMs do Azure.  

Adicionada compatibilidade retroativa para streaming de objetos LOB

LOB Streaming Detalhes
O Microsoft JDBC Driver 8.4 para SQL Server adicionou uma nova propriedade de conexão delayLoadingLobs. Definir delayLoadingLobs para FALSE faz com que todos os objetos LOB recuperados do ResultSet não sejam transmitidos. Essa configuração significa que o driver carrega todo o objeto LOB na memória de uma só vez, semelhante a como o driver estava funcionando antes do lançamento da versão 6.4.

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

Autenticação de certificado de 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. Consulte Autenticação de Certificado de Cliente para Cenários de Loopback.

8.2

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode 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

8.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 8.2. GitHub, 8.2.2.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 8.2 são nomeados de acordo com a compatibilidade da versão Java.

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

8.2 Lançamentos

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

  • Foi adicionada uma opção para configurar a lista de endpoints confiáveis do Azure Key Vault

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

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

Número da 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 Java Development Kit (JDK) versão 13.0, além do JDK 11.0 e 1.8.

Sempre criptografado com enclaves seguros

O Microsoft JDBC Driver 8.2 para SQL Server agora oferece suporte ao Always Encrypted com enclaves seguros. Para mais detalhes e código de exemplo, consulte a Utilização do Sempre Encriptado nos enclaves seguros com o driver JDBC.

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

Alteração de tipos de dados temporais Detalhes
O Microsoft JDBC Driver 8.2 para SQL Server melhorou o desempenho ao recuperar tipos de dados temporais do SQL Server. Esta alteração elimina conversões temporais desnecessárias de tipos de dados ao eliminar o uso do java.util.Calendar sempre que possível.
Esta melhoria de desempenho afeta a seguinte lista de tipos de dados temporais; no formato "SQL Server data type" (mapeamento Java). data (java.sql.Date), data-hora (java.sql.Timestamp), datetime2 (java.sql.Timestamp), smalldatetime (java.sql.Timestamp) e hora (java.sql.Time).

1 Devido às diferenças na forma como os fusos horários são tratados entre java.util.Calendar e java.time.LocalDateTime API, os tipos de dados temporais com um objeto associado fornecido pelo utilizador ou com tipos de dados microsoft.sql.DateTimeOffset não beneficiam desta melhoria.

Implantação do mssql-jdbc_auth-<versão>-<arquitetura>.dll (anteriormente sqljdbc_auth.dll) no repositório Maven

sqljdbc_auth.dll Mudança Detalhes
A partir do Microsoft JDBC Driver 8.2 para SQL Server, o driver depende de mssql-jdbc_auth-<version>-<arch>.dll em vez de sqljdbc_auth.dll para utilizar a funcionalidade de autenticação do Azure Active Directory.
A DLL é carregada no repositório Maven para facilitar o acesso. Veja mssql-jdbc_auth.

8.2 Problemas conhecidos

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

7.4.1

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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

7.4 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 7.4. GitHub, 7.4.1.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 7.4 são nomeados de acordo com a compatibilidade da versão Java.

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

7.4 Lançamentos

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

  • Revertidas as implementações das novas APIs hashCode() e equals() de SQLServerDataTable e SQLServerDataColumn pois a mudança na API quebrou a compatibilidade retrocompatível

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

Suporte para JDK 12

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

Apresenta a autenticação NTLM

Mudança de NTLM Detalhes
Suporta o modo de autenticação NTLM. Esse modo de autenticação permite que clientes Windows e não Windows se autentiquem no SQL Server usando usuários de domínio do Windows.
Mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Veja Usar Autenticação NTLM para se ligar ao SQL Server.

Apresenta a consulta de ParameterMetaData através de useFmtOnly

useFmtOnly Mudança Detalhes
useFmtOnly Propriedade de ligação adicionada. Esta funcionalidade permite aos utilizadores consultar opcionalmente ParameterMetaData através da SET FMTONLY ON API legada. Essa configuração é útil para cenários em que sp_describe_undeclared_parameters não tem o desempenho esperado.
Mais detalhes e limitações. Veja Recuperando ParameterMetaData via useFmtOnly

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

Mudança no SDK do Cofre de Chaves Detalhes
Atualizou a sua dependência do Maven em SDK do Cofre de Chaves do Microsoft Azure para Java para a versão 1.2.1.  
Remove o SDK do Microsoft Azure para WebKey do Cofre de Chaves como uma dependência do Maven.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

7.4 Problemas conhecidos

Problemas conhecidos Detalhes
Ao usar a autenticação NTLM. Atualmente, não há suporte para habilitar a Proteção Estendida e conexões criptografadas ao mesmo tempo.
Ao usar useFmtOnly. Deficiências na lógica de análise SQL podem causar alguns problemas com o recurso. Para mais informações e sugestões de alternativas, consulte Recuperar ParameterMetaData via useFmtOnly.

7.2.2

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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

7.2 Conformidade

Mudança de conformidade Detalhes
Faça o download das atualizações mais recentes para o JDBC Driver 7.2. GitHub, 7.2.2.
Central Maven.
Totalmente compatível com a especificação 4.2 da API JDBC. Os jars no pacote 7.2 são nomeados de acordo com a compatibilidade da versão 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 Java Development Kit (JDK) versão 11.0, além do JDK 1.8. O Microsoft JDBC Driver 7.2 para SQL Server agora é compatível com o Java Development Kit (JDK) versão 11.0, além do JDK 1.8.

7.2 Versões

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

  • Corrigidos problemas com IDs de Atividade que não eram limpos corretamente

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

  • Corrigidos problemas de parsing com determinadas consultas parametrizadas

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

Autenticação do Ative Directory Managed Identity (MSI)

Alteração MSI Detalhes
Suporta o modo de autenticação MSI (Ative Directory Managed Identity). Esse modo de autenticação é aplicável nos Recursos do Azure com suporte para o recurso "Identidade" habilitado.

Ambos os tipos de Identidades Geridas (MSI) são suportados pelo driver para adquirir accessToken e estabelecer uma ligação segura.
Mais detalhes e um aplicativo de exemplo para usar esse modo de autenticação. Veja Ligar-se usando a autenticação Microsoft Entra.

Apresenta suporte ao Open Service Gateway Initiative (OSGi)

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

Apresenta SQLServerError APIs

Erro de alteração da API Detalhes
Introdução da API SQLServerError. APIs Getter para recuperar mais detalhes sobre os erros gerados pelo servidor.

SQLServerException.getSQLServerError()
SQLServerError
Mais detalhes. Ver Erros de manuseamento.

Atualizado Biblioteca de Autenticação do Active Directory do Microsoft Azure (ADAL4J) para Java, versão 1.6.3

Alteração ADAL4J Detalhes
Atualizou a dependência do Maven do ADAL4J para a versão 1.6.3.  
Apresenta Java Client Runtime for AutoRest como uma dependência do Maven, versão 1.6.5.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

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

Mudança no SDK do Cofre de Chaves Detalhes
Atualizou a sua dependência do Maven em SDK do Microsoft Azure Key Vault para Java para a versão 1.2.0.  
Apresenta SDK do Microsoft Azure para Key Vault WebKey como uma dependência do Maven, versão 1.2.0.  
Mais detalhes. Consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

7.2 Problemas conhecidos

Problemas conhecidos Detalhes
Consultas parametrizadas, em certos casos. Uma atualização da versão 7.2.0, 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, v7.2.2, foi lançada em abril de 2019 para resolver esse problema.

7.0

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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 é totalmente compatível com a Especificação 4.2 da API JDBC. Os jars no pacote 7.0 são nomeados de acordo com a compatibilidade da versão 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 Java Development Kit (JDK) versão 10.0, além do JDK 1.8. Esta atualização também expõe o Automatic-Module-Name do driver como com.microsoft.sqlserver.jdbc através de seu arquivo MANIFEST.

Suporte para tipos de dados espaciais

O Microsoft JDBC Driver 7.0 para SQL Server fornece agora suporte para os tipos de dados espaciais do SQL Server, Geografia e Geometria. Para mais informações sobre APIs de tipos de dados espaciais e como usá-las, consulte Utilização de tipos de dados espaciais.

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

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

Suporte para Descoberta e Classificação de Dados SQL

O Microsoft JDBC Driver 7.0 para SQL Server fornece suporte para Descoberta e Classificação de Dados SQL com qualquer banco de dados de destino que ofereça suporte a esse recurso. O driver agora expõe SQLServerResultSet.getSensitivityClassification() APIs para extrair essas informações do ResultSetobtido.

Para mais informações sobre como usar esta funcionalidade com o Driver JDBC, consulte Exemplo JDBC de Descoberta e Classificação de Dados SQL.

Propriedade de conexão adicionada: useBulkCopyForBatchInsert

O Microsoft JDBC Driver 7.0 para SQL Server introduz uma nova propriedade de conexão, useBulkCopyForBatchInsert. Esta propriedade é suportada apenas para o Azure Synapse Analytics.

Esta propriedade está desativada por padrão. Você pode habilitá-lo para aumentar o desempenho de aplicativos de usuário quando estiver enviando grandes quantidades de dados para o Azure Synapse Analytics. A habilitação dessa propriedade altera o comportamento das operações de inserção em lote para alternar para operações de cópia em massa com dados fornecidos pelo usuário. Para mais informações sobre esta propriedade e as suas limitações, consulte Utilização da API de cópia em massa para operação de inserção em lote.

Propriedade de conexão adicionada: cancelQueryTimeout

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

Construtores do Azure Key Vault Provider adicionados

Microsoft JDBC Driver 7.0 para SQL Server reintroduz um construtor removido anteriormente, para SQLServerColumnEncryptionAzureKeyVaultProvider. Ele permitia a autenticação através de um método personalizado implementado sobre o SQLServerKeyVaultAuthenticationCallback para obter 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;

Versão atualizada da "Biblioteca de Autenticação do Ative Directory do Microsoft Azure (ADAL4J) para Java": 1.6.0

O Microsoft JDBC Driver 7.0 para SQL Server atualizou a sua dependência Maven na "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" para a versão 1.6.0. Para obter mais informações sobre dependências, consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

6.4

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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 é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.4 são nomeados de acordo com a compatibilidade da versão 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 suporta JDK versão 9.0, além do JDK 8.0 e 7.0.

Conformidade com JDBC 4.3

O driver suporta a especificação Java Database Connectivity API 4.3, além de 4.1 e 4.2. Os métodos da API JDBC 4.3 foram adicionados, mas ainda não implementados. Para mais detalhes, consulte a conformidade do driver JDBC com JDBC 4.3.

Propriedade de conexão adicionada: sslProtocol

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

Propriedade de conexão descontinuada: fipsProvider

A propriedade de conexão fipsProvider é removida da lista de propriedades de conexão aceitas. Para obter detalhes, consulte o pedido de pull request no GitHub relacionado a.

Propriedades de conexão adicionadas para especificar um TrustManager personalizado

O driver agora suporta a especificação de um TrustManager personalizado com propriedades de conexão adicionais trustManagerClass e trustManagerConstructorArg. Você pode especificar dinamicamente um conjunto de certificados confiáveis por conexão sem modificar as configurações globais para o ambiente Java Virtual Machine (JVM).

Adicionado suporte para datetime/smallDatetime em parâmetros com valor de tabela

O driver agora suporta os tipos de dados datetime e smallDatetime quando utiliza parâmetros de valores de tabela (TVPs).

Adicionado suporte para o tipo de dados sql_variant

O Driver JDBC agora suporta sql_variant tipos de dados para serem usados com o SQL Server. O tipo de dado sql_variant também é suportado com funcionalidades como TVPs e cópia em massa, com as seguintes limitações:

  • Para valores de data:

    Quando está a usar um TVP para preencher uma tabela que contém datetime, smalldatetime, ou date valores armazenados numa coluna sql_variant , chamar o getDateTime()método , getSmallDateTime(), ou getDate() no conjunto de resultados não funciona e gera a seguinte exceção:

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

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

  • Usando um TVP com sql_variant para valores nulos:

    Se estiver a usar um TVP para preencher uma tabela e enviar um valor NULL para a coluna de tipo sql_variant, irá encontrar uma exceção. Inserir um valor NULL com o tipo de coluna sql_variant num TVP não é atualmente suportado.

Implementado o cache de metadados de instrução preparada

O Driver JDBC implementou a cache de metadados de instruções preparadas para melhorar o desempenho. O driver agora suporta o armazenamento em cache dos metadados das instruções preparadas no próprio driver, com as propriedades de conexão disableStatementPooling e statementPoolingCacheSize. Este recurso está desativado por padrão. Para mais informações, consulte Cache de metadados de instruções preparadas para o driver JDBC.

Adicionado suporte para a Autenticação Integrada do Azure AD no Linux/macOS

O JDBC Driver agora oferece suporte à Autenticação Integrada do Azure Ative Directory (Azure AD) em todos os sistemas operacionais com suporte (Windows, Linux e macOS) com Kerberos. Como alternativa, em sistemas operacionais Windows, os usuários podem se autenticar com mssql-jdbc_auth-<versão>-<arch>.dll.

Versão atualizada da "Biblioteca de Autenticação do Ative Directory do Microsoft Azure (ADAL4J) para Java": 1.4.0

O JDBC Driver atualizou a sua dependência do Maven em "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" para a versão 1.4.0. Para obter mais informações sobre dependências, consulte Dependências de recursos do Microsoft JDBC Driver para SQL Server.

6.2

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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 é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.2 são nomeados de acordo com a compatibilidade da versão Java. Por exemplo, o arquivo mssql-jdbc-6.2.2.jre8.jar do pacote 6.2 é recomendado para uso com Java 8.

6.2 Lançamentos

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

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

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

  • Correção de um problema ao executar consultas sem parâmetros usando preparedStatement

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

Observação

Um problema com a melhoria do cache de metadados foi encontrado no JDBC 6.2 RTW lançado em 29 de junho de 2017. A melhoria foi revertida e novas versões de jars (versão 6.2.1) foram lançadas 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.

Faça o download das atualizações mais recentes para o JDBC Driver 6.2 através dos links acima, GitHubou Maven Central. Por favor, atualize seus projetos para usar os jars de versão 6.2.2. Para obter mais informações, consulte as notas de versão do 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 nome de usuário/senha e token de acesso.

JVMs habilitadas para FIPS

O JDBC Driver agora pode ser usado em JVMs executadas no modo de conformidade do Federal Information Processing Standard (FIPS) 140 para atender aos padrões federais de conformidade.

Melhorias na autenticação Kerberos

O JDBC Driver agora tem suporte para:

  • Método principal/senha para aplicativos em que a configuração Kerberos não pode ser modificada ou não pode recuperar um novo token ou keytab. Esse método pode ser usado para autenticar em uma instância do SQL Server que permite apenas a autenticação Kerberos.
  • Autenticação entre regiões que usa a Autenticação Integrada Kerberos sem definir explicitamente o SPN do servidor. O driver agora calcula automaticamente o realme mesmo quando ele não é fornecido.
  • Delegação restrita de Kerberos ao aceitar credenciais de utilizador falsificadas enquanto um objeto de credencial GSS por meio da fonte de dados. Esta credencial falsificada é então usada para estabelecer uma conexão Kerberos.

Tempos limite adicionados

O JDBC Driver agora suporta os seguintes tempos limite configuráveis. Você pode alterá-los com base nas necessidades do seu aplicativo.

  • Query timeout serve para controlar o número de segundos a aguardar antes que ocorra um tempo de espera ao executar uma consulta.
  • Socket timeout para especificar o número de milissegundos a aguardar antes que ocorra um tempo limite numa leitura ou numa aceitação de soquete.

6.1

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

O Microsoft JDBC Driver 6.1 para SQL Server é totalmente compatível com as especificações JDBC 4.1 e 4.2. Esta versão é a versão inicial de código aberto do JDBC Driver. O código-fonte pode ser encontrado na tag GitHub v6.1.0. Ele constrói os arquivos mssql-jdbc-6.1.0.jre8.jar e mssql-jdbc-6.1.0.jre7.jar, que correspondem à compatibilidade da versão Java.

6,0

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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 é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 6.0 são nomeados de acordo com sua conformidade com a versão da API JDBC. Por exemplo, o arquivo sqljdbc42.jar do pacote 6.0 é compatível com JDBC API 4.2. Da mesma forma, o arquivo sqljdbc41.jar é compatível com JDBC API 4.1.

Para garantir que possui o ficheiro sqljdbc42.jar ou sqljdbc41.jar correto, execute as seguintes linhas de código. Se a saída for "Versão do driver: 6.0.7507.100", você tem 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());

Sempre criptografado

O driver oferece suporte ao recurso Always Encrypted no SQL Server 2016. Esse recurso garante que dados confidenciais nunca sejam vistos em texto sem formatação em uma instância do SQL Server. Always Encrypted funciona criptografando de forma transparente os dados no aplicativo, para que o SQL Server manipule apenas os dados criptografados e não valores de texto sem formatação. Mesmo que a instância do SQL Server ou a máquina host esteja comprometida, tudo o que um invasor pode obter é texto cifrado de dados confidenciais. Para mais detalhes, veja Usar Sempre Encriptado com o driver JDBC.

Nomes de domínio internacionalizados

O driver suporta nomes de domínio internacionalizados (IDNs) para nomes de servidor. Para mais detalhes, consulte "Utilização de Nomes de Domínio Internacionais" nas funcionalidades internacionais do artigo sobre o driver JDBC .

Consultas parametrizadas

O driver agora suporta a recuperação de metadados de parâmetros com instruções preparadas para consultas complexas, como subconsultas e/ou junções. Essa melhoria está disponível somente quando você estiver usando o SQL Server 2012 e 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 centralmente identidades de usuários de banco de dados e como uma alternativa à autenticação do SQL Server.

Você pode usar o JDBC Driver 6.0 para especificar suas credenciais do Azure AD na cadeia de conexão 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 organizar várias linhas de dados de um aplicativo cliente para o SQL Server sem exigir várias viagens de ida e volta ou lógica especial do lado do servidor para processar os dados. Você pode usar 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 na qual você pode operar usando Transact-SQL. Para obter detalhes, consulte Usando parâmetros com valor de tabela.

Grupos de Disponibilidade Always On

O driver agora suporta conexões transparentes para grupos de disponibilidade Always On. O driver descobre rapidamente a topologia Always On atual da sua infraestrutura de servidor e se conecta ao servidor ativo atual de forma transparente.

4.2

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

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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 é totalmente compatível com as especificações JDBC 4.1 e 4.2. Os jars no pacote 4.2 são nomeados de acordo com sua conformidade com a versão da API JDBC. Por exemplo, o arquivo sqljdbc42.jar do pacote 4.2 é compatível com JDBC API 4.2. Da mesma forma, o arquivo sqljdbc41.jar é compatível com JDBC API 4.1.

Para garantir que você tenha o sqljdbc42.jar ou sqljdbc41.jar arquivo correto, execute as seguintes linhas de código. Se a saída for "Versão do driver: 4.2.6420.100", você tem 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 suporta JDK versão 8.0, além do JDK 7.0, 6.0 e 5.0.

Conformidade com JDBC 4.1 e 4.2

O driver suporta as especificações Java Database Connectivity API 4.1 e 4.2, além da 4.0. Para detalhes, consulte conformidade JDBC 4.1 para o driver JDBC e conformidade JDBC 4.2 para o driver JDBC.

Cópia em massa

Use o recurso de cópia em massa para copiar rapidamente grandes quantidades de dados em tabelas ou exibições em bancos de dados do SQL Server. Para detalhes, consulte Usar cópia em massa com o driver JDBC.

Opção de anulação de transação XA

O driver tem novas opções de tempo limite para a reversão automática existente de transações não preparadas. Para obter detalhes, consulte Noções básicas sobre transações XA.

Nova propriedade de conexão principal Kerberos

O driver utiliza uma nova propriedade de conexão para facilitar a flexibilidade com conexões Kerberos. Para mais detalhes, veja Usar autenticação integrada Kerberos para se ligar ao SQL Server.

4.1

Baixe o Microsoft JDBC Driver 4.1 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 4.1 para SQL Server (tar.gz)

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

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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

Suporte para JDK 7

O driver suporta JDK versão 7.0, além do JDK 6.0 e 5.0.

4.0

Baixe o Microsoft JDBC Driver 4.0 para SQL Server (exe de extração automática)
Baixe o Microsoft JDBC Driver 4.0 para SQL Server (tar.gz)

Número da versão: 4.0.2206
Lançado: 6 de março de 2012

Se você precisar baixar o driver em um idioma diferente daquele detetado para você, você pode usar esses links diretos.
Para o driver em um arquivo exe de 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

Itanium não suportado para aplicativos JDBC Driver

O Microsoft JDBC Driver para SQL Server não é suportado em computadores Itanium.