Функции Microsoft ODBC Driver for SQL Server в Windows
Драйвер 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
может значительно снизить производительность сервера и сети в зависимости от объема возвращаемых данных.