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


Использование ключевых слов строки подключения с OLE DB Driver for SQL Server

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsАналитическая платформа (PDW)SQL база данных в Microsoft Fabric

Скачать драйвер OLE DB

Некоторые API OLE DB Driver for SQL Server используют строки подключения, чтобы указать атрибуты подключения. Строки подключения — это список ключевых слов и связанных значений, причем каждое ключевое слово определяет определенный атрибут соединения.

Примечание.

OLE DB Driver for SQL Server допускает неоднозначности в строках подключения для поддержки обратной совместимости (например, некоторые ключевые слова можно указывать несколько раз, и конфликтующие ключевые слова могут разрешаться в зависимости от их позиции или приоритета). В следующих версиях OLE DB Driver for SQL Server неоднозначность в строках подключения может стать недопустимой. При изменении приложения для работы с OLE DB Driver for SQL Server необходимо предусмотреть устранение любых зависимостей от неоднозначности строки соединения.

В следующих разделах описываются ключевые слова, которые могут использоваться с OLE DB Driver for SQL Server и объектами данных ActiveX (ADO) при использовании OLE DB Driver for SQL Server в качестве поставщика данных.

Ключевые слова в строке подключения драйвера OLE DB

Приложения OLE DB могут инициализировать объекты источника данных двумя способами:

  • IDBInitialize::Initialize
  • IDataInitialize::GetDataSource

В первом случае строку поставщика можно использовать для инициализации свойств подключения, задав свойство DBPROP_INIT_PROVIDERSTRING в наборе DBPROPSET_DBINIT свойств. Во втором случае строку инициализации можно передать методу IDataInitialize::GetDataSource для инициализации свойств подключения. При использовании каждого из этих методов инициализируются одни и те же свойства соединения OLE DB, однако, для этого применяются разные наборы ключевых слов. Набор ключевых слов, используемых IDataInitialize::GetDataSource, является как минимум описанием свойств в группе свойств инициализации.

Для любого параметра, указанного в строке поставщика, который имеет соответствующее свойство OLE DB, устанавливаемое в некоторое значение по умолчанию или явным образом установленное в некоторое значение, значение свойства OLE DB переопределяет значение, указанное в строке поставщика.

Логические свойства, заданные в строках поставщика значениями DBPROP_INIT_PROVIDERSTRING, устанавливаются значениями yes и no. Логические свойства, заданные в строках инициализации с помощью IDataInitialize::GetDataSource, задаются с использованием значений true и false.

Приложения, использующие IDataInitialize::GetDataSource также могут использовать ключевые слова, используемые IDBInitialize::Initialize, но только для свойств, не имеющих значения по умолчанию. Если приложение использует ключевые слова IDataInitialize::GetDataSource и IDBInitialize::Initialize в строке инициализации, будет использован параметр ключевого слова IDataInitialize::GetDataSource. Рекомендуется, чтобы приложения не использовали IDBInitialize::Initialize ключевые слова в IDataInitialize:GetDataSource строках подключения, так как это поведение может не поддерживаться в будущих выпусках.

Примечание.

Строка подключения, передаваемая через IDataInitialize::GetDataSource, преобразуется в свойства и затем применяется через IDBProperties::SetProperties. Если службы компонентов нашли описание свойства в IDBProperties::GetPropertyInfo, это свойство будет применяться как автономное свойство. В противном случае оно будет применено через свойство DBPROP_PROVIDERSTRING. Например, если указать строку подключения Data Source=server1;Server=server2, Data Source будет задано как свойство, а Server перейдёт в строку поставщика.

Если указать несколько экземпляров одного свойства поставщика, то будет использоваться первое значение первого свойства.

Использование IDBInitialize::Initialize

Строки подключения, используемые приложениями OLE DB с DBPROP_INIT_PROVIDERSTRING и IDBInitialize::Initialize, имеют следующий синтаксис:

  • connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
  • empty-string ::=
  • attribute ::= attribute-keyword=[{]attribute-value[}]
  • attribute-value ::= character-string
  • attribute-keyword ::= identifier

Значения атрибутов можно (и рекомендуется) дополнительно заключить в фигурные скобки. В этом случае можно избежать проблем, если значения атрибутов содержат символы, отличные от буквенно-цифровых. Предполагается, что первая закрывающая фигурная скобка в значении служит признаком конца значения, поэтому само значение не может содержать символы закрывающей фигурной скобки.

Пробельный символ после знака равенства (=) в строке подключения будет считаться литералом, даже если значение заключено в кавычки.

В следующей таблице указаны ключевые слова, которые можно использовать вместе с DBPROP_INIT_PROVIDERSTRING.

Ключевое слово Свойство инициализации Description
Addr SSPROP_INIT_NETWORKADDRESS Синоним для Address.
Address SSPROP_INIT_NETWORKADDRESS Сетевой адрес сервера, на котором выполняется экземпляр SQL Server. Address обычно это сетевое имя сервера, но может быть другим именами, такими как канал, IP-адрес или ПОРТ TCP/IP и адрес сокета.

Если указать IP-адрес, убедитесь, что протоколы TCP/IP или именованных каналов включены в диспетчер конфигурации SQL Server.

Значение Address имеет приоритет над значением, переданным Server в строках подключения при использовании OLE DB Driver для SQL Server. Address=; подключается к серверу, указанному в ключевом слове Server, в то время как Address= ;, Address=.;, Address=localhost; и Address=(local); все вызывают подключение к локальному серверу.

Полный синтаксис ключевого Address слова выглядит следующим образом:

[протокол:]Адрес[,port|]

протокол может быть tcp (TCP/IP), lpc (общая память) или np (именованные каналы). Дополнительные сведения о протоколах см. в разделе "Настройка клиентских протоколов".

Если ни протокол , ни ключевое Network слово не задано, OLE DB Driver for SQL Server будет использовать порядок протокола, указанный в диспетчере конфигурации SQL Server.

port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433.
APP SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения: ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
AttachDBFileName SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать AttachDBFileName, необходимо также указать имя базы данных с ключевым словом "База данных поставщика". Если база данных была подключена ранее, SQL Server не повторно прикрепить ее (она использует присоединенную базу данных в качестве значения по умолчанию для подключения).
Authentication 1 SSPROP_AUTH_MODE Указывает используемую проверку подлинности SQL или Microsoft Entra. Допустимые значения:
  • (not set): режим проверки подлинности, определенный другими ключевыми словами.
  • ActiveDirectoryPassword: Идентификатор пользователя (User ID) и аутентификация по паролю с учетными данными Microsoft Entra.
  • ActiveDirectoryIntegrated: Интегрированная аутентификация с Microsoft Entra ID.

  • Примечание. Ключевое ActiveDirectoryIntegrated слово также можно использовать для проверки подлинности Windows в SQL Server. Оно заменяет ключевые слова проверки подлинности Integrated Security или Trusted_Connection. Приложения, использующие ключевые слова Integrated Security (или Trusted_Connection) или соответствующие свойства, должны, чтобы включить новое поведение шифрования и проверки сертификатов, задать значение ключевого слова Authentication (или соответствующего свойства) в ActiveDirectoryIntegrated.

  • ActiveDirectoryInteractive: Интерактивная аутентификация с идентификацией Microsoft Entra. Этот метод поддерживает многофакторную проверку подлинности Microsoft Entra.
  • ActiveDirectoryMSI: Управляемая аутентификация личности . Для назначенного пользователем удостоверения в качестве идентификатора пользователя задается идентификатор объекта удостоверения пользователя.
  • ActiveDirectoryServicePrincipal: проверка подлинности с помощью учетной записи службы Microsoft Entra. В качестве идентификатора пользователя нужно указать идентификатор приложения (клиента). В качестве пароля нужно указать секрет приложения (клиента).
  • SqlPassword: Аутентификация с использованием идентификатора пользователя и пароля.

  • Примечание. Приложения, использующие проверку подлинности SQL Server, должны задать значение ключевого Authentication слова (или соответствующего свойства), чтобы SqlPassword включить новое поведение шифрования и проверки сертификатов.
Auto Translate SSPROP_INIT_AUTOTRANSLATE Синоним для AutoTranslate.
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения yes и no.
ConnectRetryCount SSPROP_INIT_CONNECT_RETRY_COUNT Управляет количеством попыток повторного подключения при потере соединения. Допустимы значения от 0 до 255. Значение по умолчанию — 1. Значение 0 не приведет к попытке повторного подключения. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
ConnectRetryInterval SSPROP_INIT_CONNECT_RETRY_INTERVAL Указывает количество секунд между попытками повторного подключения при потере соединения. Допустимы значения от 1 до 60. Значение по умолчанию — 10. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
Database DBPROP_INIT_CATALOG Имя базы данных.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Указывает используемый режим обработки типов данных. Распознанные значения предназначены 0 для типов данных поставщика и 80 для типов данных SQL Server 2000 (8.x).
Encrypt 1 SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможные значения: Optional, Mandatoryи Strict. Значение по умолчанию — Mandatory. Сведения о версиях 18.x.x см. в статье об основных различиях версий MSOLEDBSQL.
FailoverPartner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
FailoverPartnerSPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
HostNameInCertificate SSPROP_INIT_HOST_NAME_CERTIFICATE Имя узла используется для проверки TLS/SSL-сертификата SQL Server. HostNameInCertificate Если ключевое слово не задано, драйвер использует Server значение ключевого слова в URL-адресе подключения в качестве имени узла для проверки TLS/SSL-сертификата SQL Server.
Примечание. Это свойство игнорируется, если сертификат сервера является доверенным. Если Encrypt задано значение Strict, сертификат всегда будет проверен.
Language SSPROP_INIT_CURRENTLANGUAGE Язык SQL Server.
MarsConn SSPROP_INIT_MARSCONNECTION Включает или отключает несколько активных результирующих наборов (MARS) на подключении, если сервер — SQL Server 2005 (9.x) или более поздней версии. Возможные значения: yes и no. Значение по умолчанию — no.
MultiSubnetFailover SSPROP_INIT_MULTISUBNETFAILOVER Всегда указывать MultiSubnetFailover=Yes при подключении к прослушивателю группы доступности группы доступности SQL Server или экземпляру отказоустойчивого кластера SQL Server. MultiSubnetFailover=Yes настраивает OLE DB Driver for SQL Server для более быстрого обнаружения и подключения к (в настоящее время) активному серверу. Возможные значения: Yes и No. Значение по умолчанию — No. Например:

MultiSubnetFailover=Yes

Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
Net SSPROP_INIT_NETWORKLIBRARY Синоним для Network.
Network SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления подключения к экземпляру SQL Server в организации.
Network Library SSPROP_INIT_NETWORKLIBRARY Синоним для Network.
PacketSize SSPROP_INIT_PACKETSIZE Размер пакета потока табличных данных (TDS). Значение по умолчанию — 0 (фактическое значение определяется сервером).
PersistSensitive DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки yes и no. Если указано значение no, объекту источника данных не разрешено сохранять конфиденциальные сведения проверки подлинности.
PWD DBPROP_AUTH_PASSWORD Пароль для входа SQL Server.
Server DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server. Значение должно быть либо именем сервера в сети, IP-адресом или именем псевдонима диспетчер конфигурации SQL Server.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Ключевое слово Address переопределяет ключевое слово Server.

Чтобы подключиться к экземпляру по умолчанию на локальном сервере, можно указать один из следующих вариантов:

Server=;
Server=.;
Server=(local);
Server=(local);
Server=(localhost);
Server=(localdb)\<instancename>;

Дополнительные сведения о поддержке LocalDB см. в этой статье.

Чтобы указать именованный экземпляр SQL Server, добавьте \<InstanceName>.

Если сервер не указан, устанавливается соединение с экземпляром по умолчанию на локальном компьютере.

Если указать IP-адрес, убедитесь, что протоколы TCP/IP или именованных каналов включены в диспетчер конфигурации SQL Server.

Полный синтаксис ключевого Server слова выглядит следующим образом:

[протокол:]Сервер[,порт]

протокол может быть tcp (TCP/IP), lpc (общая память) или np (именованные каналы).

В следующем примере указывается именованный канал:

np:\\.\pipe\MSSQL$MYINST01\sql\query

Приведенная выше строка указывает протокол именованного канала (np), именованный канал на локальном компьютере (), имя экземпляра SQL Server (\\.\pipeMSSQL$MYINST01) и имя именованного канала (sql/query).

Если ни протокол , ни Network ключевое слово также не указано, OLE DB Driver for SQL Server будет использовать порядок протокола, указанный в диспетчере конфигурации SQL Server.

port — это порт указанного сервера, к которому выполняется подключение. По умолчанию SQL Server использует порт 1433.

Пробелы игнорируются в начале значения, переданного Server в строки подключения при использовании OLE DB Driver for SQL Server.
ServerCertificate SSPROP_INIT_SERVER_CERTIFICATE Указывает путь к файлу сертификата для сопоставления с SSL-сертификатом SQL Server. Этот параметр можно использовать только при Strict включении шифрования. Допустимые форматы сертификатов: PEM, DER и CER. При указании сертификат SQL Server проверяется, проверяется, соответствует ли предоставленный сертификат точному совпадению.
ServerSPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
TransparentNetworkIPResolution SSPROP_INIT_TNIR Влияет на последовательность подключений, когда первый разрешенный IP-адрес имени узла не отвечает и имеется несколько IP-адресов, связанных с именем этого узла. TNIR взаимодействует с MultiSubnetFailover и поддерживает различные варианты последовательности подключений. Возможные значения: Yes и No. Значение по умолчанию — Yes. Дополнительные сведения см. в статье Использование разрешения IP-адресов прозрачной сети.
Trusted_Connection DBPROP_AUTH_INTEGRATED Если задано значение yes, это параметр предписывает OLE DB Driver for SQL Server использовать проверку подлинности Windows для проверки имени для входа. В противном случае драйвер OLE DB для SQL Server будет использовать имя пользователя и пароль SQL Server для проверки входа, а ключевые слова UID и PWD должны быть указаны.
TrustServerCertificate 1 SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки yes и no. По умолчанию имеет значение no, которое указывает, что сертификат сервера будет проверяться.
UID DBPROP_AUTH_USERID Имя входа SQL Server.
UseFMTONLY SSPROP_INIT_USEFMTONLY Определяет, как метаданные извлекаются при подключении к SQL Server 2012 (11.x) и более поздней версии. Возможные значения: yes и no. Значение по умолчанию — no.

По умолчанию OLE DB Driver for SQL Server использует хранимые процедуры sp_describe_first_result_set и sp_describe_undeclared_parameters для извлечения метаданных. Эти хранимые процедуры имеют некоторые ограничения (например, их выполнение при обработке временных таблиц закончится сбоем). Установка UseFMTONLY на yes указывает драйверу использовать SET FMTONLY для получения метаданных.
UseProcForPrepare SSPROP_INIT_USEPROCFORPREP Это ключевое слово является устаревшим, и OLE DB Driver for SQL Server не обрабатывает его значение.
WSID SSPROP_INIT_WSID Идентификатор рабочей станции.

1 Для повышения безопасности изменяется поведение шифрования и проверки сертификатов при использовании параметров инициализации маркера аутентификации или маркера доступа или соответствующих ключевых слов строки подключения. Дополнительные сведения см. в разделе Шифрование и проверка сертификатов.

Используйте IDataInitialize::GetDataSource

Строки подключения, используемые приложениями OLE DB, используют IDataInitialize::GetDataSource следующий синтаксис:

  • connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
  • empty-string ::=
  • attribute ::= attribute-keyword=[quote]attribute-value[quote]
  • attribute-value ::= character-string
  • attribute-keyword ::= identifier
  • quote ::= " | '

Использование свойства должно соответствовать синтаксическим правилам, действующим в его области. Например, WSID использует фигурные скобки ({}), кавычки и Application Name использует одинарные (') или двойные (") кавычки. Заключать в кавычки можно только строковые свойства. Заключение в кавычки целочисленного или перечисляемого свойства приведет к ошибке Connection String doesn't conform to OLE DB specification.

Значения атрибутов можно при желании заключать в одинарные или двойные кавычки, а фактически это даже рекомендуется. В этом случае можно избежать проблем, если значения содержат символы, отличные от буквенно-цифровых. Используемый символ кавычек может также использоваться в значении, если оно заключено в двойные кавычки.

Пробельный символ после знака равенства (=) в строке подключения будет считаться литералом, даже если значение заключено в кавычки.

Если строка подключения содержит несколько свойств из тех, которые приведены в следующей таблице, то будет использоваться значение последнего свойства.

В следующей таблице описаны ключевые слова, которые можно использовать с IDataInitialize::GetDataSource:

Ключевое слово Свойство инициализации Description
Access Token 1 SSPROP_AUTH_ACCESS_TOKEN Маркер доступа, используемый для проверки подлинности в идентификаторе Microsoft Entra.

Примечание. Ошибка указывать это ключевое слово вместе с UID, PWD, Trusted_Connection или Authentication в строке подключения или использовать соответствующие свойства/ключевые слова.
Application Name SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
Application Intent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения: ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
Authentication 1 SSPROP_AUTH_MODE Указывает используемую проверку подлинности SQL или Microsoft Entra. Допустимые значения:
  • (not set): режим проверки подлинности, определенный другими ключевыми словами.
  • ActiveDirectoryPassword: Идентификатор пользователя (User ID) и аутентификация по паролю с учетными данными Microsoft Entra.
  • ActiveDirectoryIntegrated: Интегрированная аутентификация с Microsoft Entra ID.

  • Примечание. Ключевое ActiveDirectoryIntegrated слово также можно использовать для проверки подлинности Windows в SQL Server. Оно заменяет ключевые слова проверки подлинности Integrated Security или Trusted_Connection. Приложения, использующие ключевые слова Integrated Security (или Trusted_Connection) или их соответствующие свойства, должны установить значение для ключевого слова Authentication (или соответствующего свойства) на ActiveDirectoryIntegrated, чтобы включить новое поведение шифрования и валидатора сертификатов.

  • ActiveDirectoryInteractive: Интерактивная аутентификация с идентификацией Microsoft Entra. Этот метод поддерживает многофакторную проверку подлинности Microsoft Entra.
  • ActiveDirectoryMSI: Управляемая аутентификация личности . Для назначенного пользователем удостоверения в качестве идентификатора пользователя задается идентификатор объекта удостоверения пользователя.
  • ActiveDirectoryServicePrincipal: проверка подлинности с помощью учетной записи службы Microsoft Entra. В качестве идентификатора пользователя нужно указать идентификатор приложения (клиента). В качестве пароля нужно указать секрет приложения (клиента).
  • SqlPassword: Аутентификация с использованием идентификатора пользователя и пароля.

  • Примечание. Приложения, использующие проверку подлинности SQL Server, должны задать значение ключевого Authentication слова (или соответствующего свойства), чтобы SqlPassword включить новое поведение шифрования и проверки сертификатов.
Auto Translate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения true и false.
Connect Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
Connect Retry Count SSPROP_INIT_CONNECT_RETRY_COUNT Управляет количеством попыток повторного подключения при потере соединения. Допустимы значения от 0 до 255. Значение по умолчанию — 1. Значение 0 не приведет к попытке повторного подключения. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
Connect Retry Interval SSPROP_INIT_CONNECT_RETRY_INTERVAL Указывает количество секунд между попытками повторного подключения при потере соединения. Допустимы значения от 1 до 60. Значение по умолчанию — 10. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
Current Language SSPROPT_INIT_CURRENTLANGUAGE Имя языка SQL Server.
Data Source DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server в организации.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого Server слова в этой статье.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Указывает используемый режим обработки типов данных. Распознанные значения предназначены 0 для типов данных поставщика и 80 для типов данных SQL Server 2000 (8.x).
Failover Partner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
Host Name In Certificate SSPROP_INIT_HOST_NAME_CERTIFICATE Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Host Name In Certificate Если ключевое слово не задано, драйвер использует Data Source значение ключевого слова в URL-адресе подключения в качестве имени узла для проверки TLS/SSL-сертификата SQL Server.
Примечание. Это свойство игнорируется, если сертификат сервера является доверенным. Если Use Encryption for Data задано значение Strict, сертификат всегда будет проверен.
Initial Catalog DBPROP_INIT_CATALOG Имя базы данных.
Initial File Name SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать AttachDBFileName, необходимо также с помощью ключевого слова DATABASE строки поставщика указать имя базы данных. Если база данных была подключена ранее, SQL Server не повторно прикрепить ее (она использует присоединенную базу данных в качестве значения по умолчанию для подключения).
Integrated Security DBPROP_AUTH_INTEGRATED Принимает значение SSPI для проверки подлинности Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Включает или отключает режим MARS для соединения. Распознаются значения true и false. Значение по умолчанию — false.
MultiSubnetFailover SSPROP_INIT_MULTISUBNETFAILOVER Всегда указывать MultiSubnetFailover=True при подключении к прослушивателю группы доступности группы доступности SQL Server или экземпляру отказоустойчивого кластера SQL Server. MultiSubnetFailover=True настраивает драйвер OLE DB для SQL Server для более быстрого обнаружения и подключения к активному серверу. Возможные значения: True и False. Значение по умолчанию — False. Например:

MultiSubnetFailover=True

Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
Network Address SSPROP_INIT_NETWORKADDRESS Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого Address слова в этой статье.
Network Library SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления подключения к экземпляру SQL Server в организации.
Packet Size SSPROP_INIT_PACKETSIZE Размер пакета потока табличных данных (TDS). Значение по умолчанию — 0 (фактическое значение определяется сервером).
Password DBPROP_AUTH_PASSWORD Пароль для входа SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки true и false. Если используется значение false, объекту источника данных запрещено хранить конфиденциальные данные проверки подлинности.
Provider В случае OLE DB Driver for SQL Server значение — MSOLEDBSQL19 или MSOLEDBSQL.
Server Certificate SSPROP_INIT_SERVER_CERTIFICATE Указывает путь к файлу сертификата для сопоставления с SSL-сертификатом SQL Server. Этот параметр можно использовать только при Strict включении шифрования. Допустимые форматы сертификатов: PEM, DER и CER. При указании сертификат SQL Server проверяется, проверяется, соответствует ли предоставленный сертификат точному совпадению.
Server SPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
TransparentNetworkIPResolution SSPROP_INIT_TNIR Влияет на последовательность подключений, когда первый разрешенный IP-адрес имени узла не отвечает и имеется несколько IP-адресов, связанных с именем этого узла. TNIR взаимодействует с MultiSubnetFailover и поддерживает различные варианты последовательности подключений. Возможные значения: True и False. Значение по умолчанию — True. Дополнительные сведения см. в статье Использование разрешения IP-адресов прозрачной сети.
Trust Server Certificate 1 SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки true и false. По умолчанию имеет значение false, которое указывает, что сертификат сервера будет проверяться.
Use Encryption for Data 1 SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможные значения: Optional, Mandatoryи Strict. Значение по умолчанию — Mandatory. Сведения о версиях 18.x.x см. в статье об основных различиях версий MSOLEDBSQL.
Use FMTONLY SSPROP_INIT_USEFMTONLY Определяет, как метаданные извлекаются при подключении к SQL Server 2012 (11.x) и более поздней версии. Возможные значения: true и false. Значение по умолчанию — false.

По умолчанию OLE DB Driver for SQL Server использует хранимые процедуры sp_describe_first_result_set и sp_describe_undeclared_parameters для извлечения метаданных. Эти хранимые процедуры имеют некоторые ограничения (например, их выполнение при обработке временных таблиц закончится сбоем). Установка Use FMTONLY на true указывает драйверу использовать SET FMTONLY для получения метаданных.
User ID DBPROP_AUTH_USERID Имя входа SQL Server.
Workstation ID SSPROP_INIT_WSID Идентификатор рабочей станции.

1 Для повышения безопасности изменяется поведение шифрования и проверки сертификатов при использовании свойств инициализации аутентификации/токена доступа или соответствующих ключевых слов строки подключения. Дополнительные сведения см. в разделе о шифровании и проверке сертификатов.

Примечание.

В строке подключения свойство Old Password устанавливает SSPROP_AUTH_OLD_PASSWORD, который является текущим (возможно истекшим) паролем, недоступным через свойство строки поставщика.

Ключевые слова строки подключения ActiveX Data Objects (ADO)

Приложения ADO задают свойство ConnectionString объектов ADODBConnection или предоставляют строку подключения в качестве параметра для метода Open объектов ADODBConnection.

Приложения ADO также могут использовать ключевые слова, используемые методом OLE DB IDBInitialize::Initialize , но только для свойств, не имеющих значения по умолчанию. Если приложение использует ключевые слова ADO и IDBInitialize::Initialize ключевые слова в строке инициализации, будет использоваться параметр ключевого слова ADO. Рекомендуется, чтобы приложение использовало для строк соединения только ключевые слова ADO.

Строки подключения, используемые ADO, имеют следующий синтаксис:

  • connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
  • empty-string ::=
  • attribute ::= attribute-keyword=["]attribute-value["]
  • attribute-value ::= character-string
  • attribute-keyword ::= identifier

Значения атрибутов можно (и рекомендуется) дополнительно заключить в двойные кавычки. В этом случае можно избежать проблем, если значения содержат символы, отличные от буквенно-цифровых. Значения атрибутов не могут содержать двойные кавычки.

В следующей таблице описываются ключевые слова, которые могут использоваться со строкой подключения ADO:

Ключевое слово Свойство инициализации Description
Access Token 1 SSPROP_AUTH_ACCESS_TOKEN Маркер доступа, используемый для проверки подлинности в идентификаторе Microsoft Entra.

Примечание. Ошибка указывать это ключевое слово вместе с ключевыми словами строки подключения UIDPWDTrusted_Connection или Authentication, или соответствующими свойствами/ключевыми словами.
Application Intent SSPROP_INIT_APPLICATIONINTENT Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения: ReadOnly и ReadWrite.

Значение по умолчанию — ReadWrite. Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
Application Name SSPROP_INIT_APPNAME Строка, идентифицирующая приложение.
Authentication 1 SSPROP_AUTH_MODE Указывает используемую проверку подлинности SQL или Microsoft Entra. Допустимые значения:
  • (not set): режим проверки подлинности, определенный другими ключевыми словами.
  • ActiveDirectoryPassword: Идентификатор пользователя (User ID) и аутентификация по паролю с учетными данными Microsoft Entra.
  • ActiveDirectoryIntegrated: Интегрированная аутентификация с Microsoft Entra ID.

  • Примечание. Ключевое ActiveDirectoryIntegrated слово также можно использовать для проверки подлинности Windows в SQL Server. Оно заменяет ключевые слова проверки подлинности Integrated Security или Trusted_Connection. Приложения, использующие ключевые слова Integrated Security (или Trusted_Connection) или соответствующие свойства, должны задать значение ключевого слова Authentication (или соответствующего свойства), чтобы включить ActiveDirectoryIntegrated новое поведение шифрования и проверки сертификатов.

  • ActiveDirectoryInteractive: Интерактивная аутентификация с идентификацией Microsoft Entra. Этот метод поддерживает многофакторную проверку подлинности Microsoft Entra.
  • ActiveDirectoryMSI: Управляемая аутентификация личности . Для назначенного пользователем удостоверения в качестве идентификатора пользователя задается идентификатор объекта удостоверения пользователя.
  • ActiveDirectoryServicePrincipal: проверка подлинности с помощью учетной записи службы Microsoft Entra. В качестве идентификатора пользователя нужно указать идентификатор приложения (клиента). В качестве пароля нужно указать секрет приложения (клиента).
  • SqlPassword: Аутентификация с использованием идентификатора пользователя и пароля.

  • Примечание. Приложения, использующие проверку подлинности SQL Server, должны задать значение ключевого Authentication слова (или соответствующего свойства), чтобы SqlPassword включить новое поведение шифрования и проверки сертификатов.
Auto Translate SSPROP_INIT_AUTOTRANSLATE Настраивает перевод символов OEM/ANSI. Распознаются значения true и false.
Connect Timeout DBPROP_INIT_TIMEOUT Время (в секундах), в течение которого ожидается завершение инициализации источника данных.
Connect Retry Count SSPROP_INIT_CONNECT_RETRY_COUNT Управляет количеством попыток повторного подключения при потере соединения. Допустимы значения от 0 до 255. Значение по умолчанию — 1. Значение 0 не приведет к попытке повторного подключения. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
Connect Retry Interval SSPROP_INIT_CONNECT_RETRY_INTERVAL Указывает количество секунд между попытками повторного подключения при потере соединения. Допустимы значения от 1 до 60. Значение по умолчанию — 10. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
Current Language SSPROPT_INIT_CURRENTLANGUAGE Имя языка SQL Server.
Data Source DBPROP_INIT_DATASOURCE Имя экземпляра SQL Server в организации.

Если имя не задано, то производится соединение с экземпляром по умолчанию на локальном компьютере.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого Server слова в этой статье.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Задает используемый режим обработки типов данных. Распознанные значения предназначены 0 для типов данных поставщика и 80 для типов данных SQL Server 2000 (8.x).
Failover Partner SSPROP_INIT_FAILOVERPARTNER Имя сервера отработки отказа, используемого для зеркального отображения базы данных.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Имя участника-службы для партнера по обеспечению отработки отказа. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
Host Name In Certificate SSPROP_INIT_HOST_NAME_CERTIFICATE Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Host Name In Certificate Если ключевое слово не задано, драйвер использует Data Source значение ключевого слова в URL-адресе подключения в качестве имени узла для проверки TLS/SSL-сертификата SQL Server.
Примечание. Это свойство игнорируется, если сертификат сервера является доверенным. Если Use Encryption for Data задано значение Strict, сертификат всегда будет проверен.
Initial Catalog DBPROP_INIT_CATALOG Имя базы данных.
Initial File Name SSPROP_INIT_FILENAME Имя первичного файла присоединяемой базы данных (включает полный путь). Чтобы использовать AttachDBFileName, необходимо также указать имя базы данных с ключевым словом строки DATABASE поставщика. Если база данных была подключена ранее, SQL Server не повторно прикрепить ее (она использует присоединенную базу данных в качестве значения по умолчанию для подключения).
Integrated Security DBPROP_AUTH_INTEGRATED Принимает значение SSPI для проверки подлинности Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Включает или отключает несколько активных результирующих наборов (MARS) на подключении, если сервер — SQL Server 2005 (9.x) или более поздней версии. Распознаются значения true и false. Значение по умолчанию — false.
MultiSubnetFailover SSPROP_INIT_MULTISUBNETFAILOVER Всегда указывать MultiSubnetFailover=True при подключении к прослушивателю группы доступности группы доступности SQL Server или экземпляру отказоустойчивого кластера SQL Server. MultiSubnetFailover=True настраивает OLE DB Driver for SQL Server, чтобы обеспечить более быстрое обнаружение и подключение к в настоящее время активному серверу. Возможные значения: True и False. Значение по умолчанию — False. Например:

MultiSubnetFailover=True

Дополнительные сведения о поддержке OLE DB Driver for SQL Server для групп доступности AlwaysOn см. в разделе OLE DB Driver for SQL Server Support for High Availability, Аварийное восстановление.
Network Address SSPROP_INIT_NETWORKADDRESS Сетевой адрес экземпляра SQL Server в организации.

Дополнительные сведения о допустимом синтаксисе адресов см. в описании ключевого Address слова в этой статье.
Network Library SSPROP_INIT_NETWORKLIBRARY Сетевая библиотека, используемая для установления подключения к экземпляру SQL Server в организации.
Packet Size SSPROP_INIT_PACKETSIZE Размер пакета потока табличных данных (TDS). Значение по умолчанию — 0 (фактическое значение определяется сервером).
Password DBPROP_AUTH_PASSWORD Пароль для входа SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Принимает в качестве значений строки true и false. Если используется значение false, объекту источника данных запрещено хранить конфиденциальные данные проверки подлинности.
Provider В случае OLE DB Driver for SQL Server значение — MSOLEDBSQL19 или MSOLEDBSQL.
Server Certificate SSPROP_INIT_SERVER_CERTIFICATE Указывает путь к файлу сертификата для сопоставления с SSL-сертификатом SQL Server. Этот параметр можно использовать только при Strict включении шифрования. Допустимые форматы сертификатов: PEM, DER и CER. При указании сертификат SQL Server проверяется, проверяется, соответствует ли предоставленный сертификат точному совпадению.
Server SPN SSPROP_INIT_SERVERSPN Имя участника-службы для сервера. Значение по умолчанию — пустая строка. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
TransparentNetworkIPResolution SSPROP_INIT_TNIR Влияет на последовательность подключений, когда первый разрешенный IP-адрес имени узла не отвечает и имеется несколько IP-адресов, связанных с именем этого узла. TNIR взаимодействует с MultiSubnetFailover и поддерживает различные варианты последовательности подключений. Возможные значения: True и False. Значение по умолчанию — True. Дополнительные сведения см. в статье Использование разрешения IP-адресов прозрачной сети.
Trust Server Certificate 1 SSPROP_INIT_TRUST_SERVER_CERTIFICATE Принимает в качестве значений строки true и false. По умолчанию имеет значение false, которое указывает, что сертификат сервера будет проверяться.
Use Encryption for Data 1 SSPROP_INIT_ENCRYPT Указывает, необходимо ли шифрование данных перед их отправкой по сети. Возможные значения: Optional, Mandatoryи Strict. Значение по умолчанию — Mandatory. Сведения о версиях 18.x.x см. в статье об основных различиях версий MSOLEDBSQL.
Use FMTONLY SSPROP_INIT_USEFMTONLY Определяет, как метаданные извлекаются при подключении к SQL Server 2012 (11.x) и более поздней версии. Возможные значения: true и false. Значение по умолчанию — false.

По умолчанию OLE DB Driver for SQL Server использует хранимые процедуры sp_describe_first_result_set и sp_describe_undeclared_parameters для извлечения метаданных. Эти хранимые процедуры имеют некоторые ограничения (например, их выполнение при обработке временных таблиц закончится сбоем). Установка Use FMTONLY в true предписывает драйверу использовать SET FMTONLY для получения метаданных.
User ID DBPROP_AUTH_USERID Имя входа SQL Server.
Workstation ID SSPROP_INIT_WSID Идентификатор рабочей станции.

1 Для повышения безопасности, шифрование и проверка сертификатов изменяются при использовании свойств инициализации токенов аутентификации/доступа или соответствующих ключевых слов строки подключения. Дополнительные сведения см. в разделе о шифровании и проверке сертификатов.

Примечание.

В строке подключения свойство "Старый пароль" задаёт значение SSPROP_AUTH_OLD_PASSWORD, которое является текущим (возможно устаревшим) паролем, недоступным через свойство строки провайдера.