Recursos do Microsoft ODBC Driver for SQL Server no Windows
O Driver ODBC 18.0 permite que os usuários enviem tipos de dados longos como tipos de dados máximos usando a palavra-chave LongAsMax
para ativar ou desativar a configuração. Quando habilitados, os tipos SQL SQL_LONGVARCHAR, SQL_LONGVARBINARY e SQL_LONGWVARCHAR serão enviados como varchar(max), varbinary(max) e nvarchar(max) em vez de text, image e ntext, respectivamente.
Os padrões de criptografia de conexão foram alterados. O valor padrão de Criptografar agora é Sim e as novas palavras-chave Opcional e Obrigatória foram introduzidas como sinônimos de Não e Sim, respectivamente. Para conectar-se usando o protocolo TDS 8.0, o Modo estrito (Encrypt=Strict
) foi adicionado. Nesse modo, o certificado do servidor sempre é verificado (TrustServerCertificate
é ignorado). Uma nova palavra-chave, HostnameInCertificate
, pode ser usada para especificar o nome de host esperado encontrado no certificado se ele for diferente do servidor especificado. Pode-se usar HostnameInCertificate
em todos os modos de criptografia, sendo também aplicável se a opção do lado do servidor Force Encryption
estiver habilitada, o que fará com que o driver verifique o certificado nos modos Opcional ou Obrigatório, a menos que seja desabilitado usando TrustServerCertificate
.
O Driver ODBC 18 inclui extensões SQLGetData. Quando habilitado, SQLGetData pode ser usado para recuperar dados de coluna em qualquer ordem dentro de uma linha, incluindo voltar. O recurso é fornecido para fins de compatibilidade e prejudicará significativamente o desempenho e aumentará o uso de memória. É altamente recomendável que o aplicativo sempre acesse as colunas em ordem crescente. Para habilitar as extensões do SQLGetData, é possível usar o atributo GetDataExtensions
de cadeia de conexão ou a função SQLSetConnectAttr
para definir SQL_COPT_SS_GETDATA_EXTENSIONS
como SQL_EN_ON
.
O suporte para Windows ARM64 está incluído a partir do Driver ODBC 18.2 e está, atualmente, em versão prévia. O driver ARM64 é apenas para aplicativos ARM64 de 64 bits e não inclui drivers de emulação ARM de 32 bits nem x86/amd64.
O ODBC Driver 17.4 inclui a capacidade de ajustar as configurações keep alive do TCP. Elas podem ser modificadas adicionando valores às chaves do Registro do driver ou da DSN. As chaves estão localizadas em HKEY_LOCAL_MACHINE\Software\ODBC\
para fontes de dados do sistema e em HKEY_CURRENT_USER\Software\ODBC\
para fontes de dados do usuário. Para o DSN, os valores precisam ser adicionados a ...\Software\ODBC\ODBC.INI\<DSN Name>
; para o driver, a ...\Software\ODBC\ODBCINST.INI\ODBC Driver 17 for SQL Server
.
Para obter mais informações, confira Entradas do Registro para componentes ODBC.
Os valores são REG_SZ
e são os seguintes:
KeepAlive
controla a frequência com que o TCP tenta verificar se uma conexão ociosa ainda está intacta enviando um pacote keep alive. O padrão é 30 segundos.KeepAliveInterval
determina o intervalo que separa cada retransmissão keep alive até que uma resposta seja recebida. O padrão é 1 segundo.
O ODBC Driver 13.1 for SQL Server contém toda a funcionalidade da versão anterior (11). Ele também adiciona suporte para autenticação Always Encrypted e do Microsoft Entra ID (antigo Azure Active Directory).
Always Encrypted permite que os clientes criptografem os dados confidenciais em aplicativos de cliente e nunca revelem as chaves de criptografia para o SQL Server. Um driver Always Encrypted habilitado instalado no computador cliente alcança essa segurança criptografando e descriptografando automaticamente os dados confidenciais no aplicativo cliente do SQL Server. O driver criptografa os dados nas colunas confidenciais antes de passá-los para o SQL Server. Ele também reescreve automaticamente as consultas para que a semântica do aplicativo seja preservada. Da mesma forma, o driver de modo transparente descriptografa os dados armazenados em colunas de banco de dados criptografado que estão contidas nos resultados da consulta. Para obter mais informações, veja Como usar Always Encrypted com o driver ODBC do Windows.
O Microsoft Entra ID permite que usuários, DBAs e programadores de aplicativos usem a autenticação do Microsoft Entra. Para obter mais informações, confira Usando o Microsoft Entra ID com o driver ODBC e Conexão ao SQL do Azure ou ao Azure Synapse Analytics usando a autenticação do Microsoft Entra.
O ODBC Driver for SQL Server contém toda a funcionalidade do SQL Server driver ODBC Native Client fornecida no SQL Server 2012 (11.x). Para obter mais informações sobre o SQL Server Native Client, confira Programação do SQL Server Native Client. O SQL Server driver ODBC Native Client se baseia o driver ODBC fornecido com o sistema operacional Windows. Para obter mais informações sobre esse driver, confira SDK dos Windows Data Access Components.
Esta versão do ODBC Driver for SQL Server contém os seguintes recursos novos:
A opção -l especifica o número de segundos antes que um logon bcp.exe
em SQL Server expire quando você tentar se conectar a um servidor. O tempo limite de logon padrão é de 15 segundos. O tempo limite do logon deve ser um número entre 0 e 65534. Se o valor fornecido não for numérico ou não estiver nesse intervalo, bcp.exe
gerará uma mensagem de erro. Um valor de 0 especifica um tempo limite infinito. Um tempo limite de logon de menos de (aproximadamente) dez segundos não é confiável.
O Microsoft ODBC Driver for SQL Server dá suporte para Pool de Conexões com Reconhecimento de Driver. Para obter mais informações, consulte Driver-Aware Connection Pooling in the ODBC Driver for SQL Server.
O ODBC Driver for SQL Server dá suporte para a execução assíncrona (método de notificação). Para encontrar um exemplo de uso, veja Amostra de execução assíncrona (método de notificação).
Para garantir que os aplicativos permaneçam conectados a um Banco de Dados SQL do Microsoft Azure, o driver ODBC no Windows pode restaurar conexões ociosas. Para obter mais informações, consulte Connection Resiliency in the Windows ODBC Driver.
No SQL Server Native Client, a opção -y0
para sqlcmd.exe
fazia com que a saída fosse truncada em 1 MB se a largura da tela fosse 0.
A partir do ODBC Driver 11 for SQL Server, não há nenhum limite à quantidade de dados recuperados em uma determinada coluna quando -y0
é especificado. O sqlcmd.exe
agora envia colunas como fluxos de até 2 GB (SQL Server máximo para o tipo de dados).
Outra diferença é que agora, especificar -h
e -y0
simultaneamente produz um erro que informa que as opções são incompatíveis. -h
, que especifica o número de linhas a imprimir entre cabeçalhos de coluna e nunca foi compatível com -y0
, foi ignorado, embora nenhum cabeçalho tenha sido impresso.
O -y0
pode causar problemas de desempenho anto no servidor quanto na rede, dependendo do tamanho dos dados retornados.