Поделиться через


Функции Microsoft ODBC Driver for SQL Server в Windows

Скачать драйвер ODBC

Драйвер Microsoft ODBC Driver 18.0 for SQL Server в Windows

Драйвер ODBC 18.0 позволяет пользователям отправлять данные с типом "длинное целое" как данные с типом max с использованием ключевого слова LongAsMax для включения или отключения параметра. Если параметр включен, SQL-типы SQL_LONGVARCHAR, SQL_LONGVARBINARY и SQL_LONGWVARCHAR будут отправляться как varchar(max), varbinary(max) и nvarchar(max) вместо text, image и ntext соответственно.

Значения по умолчанию для шифрования подключения изменились. Теперь параметр Encrypt имеет значение по умолчанию Yes, а новые ключевые слова Optional (необязательно) и Mandatory (обязательно) представлены как синонимы для значений No и Yes соответственно. Для подключения с использованием протокола TDS 8.0 добавлен строгий режим (Encrypt=Strict). В этом режиме сертификат сервера всегда проверяется (TrustServerCertificate игнорируется). Новое ключевое слово (HostnameInCertificate) можно использовать для указания ожидаемого имени узла, найденного в сертификате, если оно отличается от имени указанного сервера. Ключевое слово HostnameInCertificate можно использовать во всех режимах шифрования. Кроме того, оно применимо, если на стороне сервера включен параметр Force Encryption, в результате чего драйвер будет проверять сертификат в режимах Optional и Mandatory, если проверка не отключена с помощью TrustServerCertificate.

Драйвер ODBC 18 содержит расширения SQLGetData. Если эти расширения включены, SQLGetData можно использовать для получения данных столбца в любом порядке в строке, в том числе в обратном порядке. Эта возможность предоставляется в целях совместимости. При этом она значительно снижает производительность и увеличивает потребление памяти. Настоятельно рекомендуется, чтобы для приложения столбцы всегда были доступны в порядке по возрастанию. Для включения расширений SQLGetData можно использовать атрибут строки подключения GetDataExtensions либо использовать функцию SQLSetConnectAttr, чтобы установить для SQL_COPT_SS_GETDATA_EXTENSIONS значение SQL_EN_ON.

Поддержка Windows ARM64 включается начиная с ODBC Driver 18.2 и в настоящее время является предварительной версией. Драйвер ARM64 предназначен только для 64-разрядных приложений ARM64 и не включает 32-разрядные драйверы ARM или x86/amd64 эмуляции.

Драйвер Microsoft ODBC Driver 17.4 for SQL Server в Windows

Драйвер ODBC 17.4 включает возможность настройки параметров поддержания активности TCP. Их можно изменить, добавив значения в разделы реестра драйвера или DSN. Ключи находятся в HKEY_LOCAL_MACHINE\Software\ODBC\ для системных источников данных и в HKEY_CURRENT_USER\Software\ODBC\ для источников данных пользователя. Для DSN значения следует добавить в ...\Software\ODBC\ODBC.INI\<DSN Name>, а для драйвера — в ...\Software\ODBC\ODBCINST.INI\ODBC Driver 17 for SQL Server.

Дополнительные сведения см. в статье Registry Entries for ODBC Components (Записи реестра для компонентов ODBC).

Возможны следующие значения в формате REG_SZ:

  • KeepAlive управляет частотой попыток протокола TCP проверить работоспособность неактивного подключения путем отправки пакета keep-alive. Значение по умолчанию — 30 секунд.

  • KeepAliveInterval определяет интервал, разделяющий повторные передачи пакета keep-alive, пока не происходит получение ответа. Значение по умолчанию — 1 секунда.

Драйвер Microsoft ODBC Driver 13.1 for SQL Server в Windows

Дайвер Driver 13.1 for SQL Server содержит все функции предыдущей версии (11). Он также добавляет поддержку Always Encrypted и проверки подлинности с помощью идентификатора Microsoft Entra (ранее Azure Active Directory).

Функция Always Encrypted позволяет клиентам шифровать конфиденциальные данные в клиентских приложениях, не раскрывая ключи шифрования для SQL Server. Драйвер с поддержкой Always Encrypted, установленный на клиентском компьютере, реализует эту возможность безопасности за счет автоматического шифрования и расшифровки конфиденциальных данных в клиентском приложении SQL Server. Драйвер шифрует данные в конфиденциальных столбцах перед их передачей в SQL Server. Он также автоматически переписывает запросы, чтобы сохранить семантику приложения. Аналогичным образом драйвер прозрачно расшифровывает данные, хранящиеся в столбцах зашифрованной базы данных, которые содержатся в результатах запроса. Дополнительные сведения см. в статье Использование функции Always Encrypted с драйвером ODBC.

Идентификатор Microsoft Entra позволяет пользователям, базам данных и программистам приложений использовать проверку подлинности Microsoft Entra. Дополнительные сведения см. в статье Об использовании идентификатора Microsoft Entra с драйвером ODBC и подключением к AZURE SQL или Azure Synapse Analytics с помощью проверки подлинности Microsoft Entra.

Драйвер Microsoft ODBC 11 для SQL Server в Windows

Драйвер ODBC для SQL Server содержит все функциональные возможности драйвера ODBC собственного клиента SQL Server, который поставляется в SQL Server 2012 (11.x). Дополнительные сведения о SQL Server Native Client см. в этой статье. Драйвер ODBC собственного клиента SQL Server основан на драйвере ODBC, который поставляется в операционной системе Windows. Дополнительные сведения об этом драйвере см. в статье Пакет SDK компонентов доступа к данным Windows DAC.

Этот выпуск драйвера ODBC для SQL Server содержит следующие новые возможности:

параметр bcp.exe -l для указания времени ожидания входа

Параметр -l указывает количество секунд до bcp.exe истечения времени ожидания входа в SQL Server при попытке подключения к серверу. Значение времени ожидания по умолчанию — 15 секунд. Время ожидания входа должно быть числом в диапазоне от 0 до 65 534. Если указанное значение не является числом или выходит за пределы указанного диапазона, программа bcp.exe выдает сообщение об ошибке. Значение 0 указывает на бесконечное время ожидания. Время ожидания входа, которое меньше 10 секунд (приблизительно), не является надежным.

Организация пулов соединений с учетом драйвера

Драйвер ODBC для SQL Server поддерживает пул подключений с поддержкой драйверов. Дополнительные сведения см. в статье Организация пулов соединений с учетом драйвера в ODBC Driver for SQL Server.

Асинхронное выполнение (метод уведомления)

Драйвер ODBC для SQL Server поддерживает асинхронное выполнение (метод уведомлений). Пример использования см. в разделе Образец асинхронного выполнения (метод уведомления).

Устойчивость подключения

Чтобы обеспечить сохранение подключения приложений к Базе данных SQL Microsoft Azure, драйвер ODBC в Windows может восстанавливать неактивные соединения. Дополнительные сведения см. в статье Устойчивость подключения в драйвере ODBC в Windows.

Изменения в работе

В собственном клиенте -y0 SQL Server параметр для sqlcmd.exe усечения выходных данных составляет 1 МБ, если ширина дисплея равна 0.

Начиная с драйвера ODBC 11 для SQL Server, объем данных, которые можно получить в одном столбце, -y0 при указании не ограничивается. sqlcmd.exe теперь потоковая передача столбцов размером до 2 ГБ (максимальный тип данных SQL Server).

Другое отличие заключается в том, что указание как -h, так и -y0 теперь приводит к сообщению об ошибке, связанной с несовместимостью опций. Параметр -h, который указывает количество выводимых строк между заголовками столбцов, никогда не был совместим с -y0 и игнорировался, хотя заголовки не выводились.

-y0 может значительно снизить производительность сервера и сети в зависимости от объема возвращаемых данных.

См. также

Драйвер Microsoft ODBC Driver for SQL Server в Windows