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


Свойства инициализации и авторизации

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

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

OLE DB Driver for SQL Server интерпретирует свойства инициализации и авторизации OLE DB следующим образом:

Идентификатор свойства Description
DBPROP_AUTH_CACHE_AUTHINFO Драйвер OLE DB для SQL Server не кэширует информацию об аутентификации.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_ENCRYPT_PASSWORD Драйвер OLE DB для SQL Server использует стандартные механизмы безопасности SQL Server для сокрытия паролей.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_INTEGRATED Если DBPROP_AUTH_INTEGRATED установлен указатель NULL, null строка или значение 'SSPIVT_BSTR', драйвер OLE DB для SQL Server использует режим аутентификации Windows для авторизации доступа пользователя к базе данных SQL Server, указанной DBPROP_INIT_DATASOURCE свойствами и DBPROP_INIT_CATALOG

Если настройка установлена на VT_EMPTY (по умолчанию), используется безопасность SQL Server. Логин и пароль SQL Server указаны в свойствах DBPROP_AUTH_USERID AND DBPROP_AUTH_PASSWORD .
DBPROP_AUTH_MASK_PASSWORD Драйвер OLE DB для SQL Server использует стандартные механизмы безопасности SQL Server для скрытия паролей.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PASSWORD Пароль, назначенный имени входа SQL Server. Это свойство используется при выборе проверки подлинности SQL Server для авторизации доступа к базе данных SQL Server.
DBPROP_AUTH_PERSIST_ENCRYPTED Драйвер OLE DB для SQL Server не шифрует информацию об аутентификации при сохранении.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Драйвер OLE DB для SQL Server сохраняет значения для проверки подлинности, включая образ пароля (если указано). Шифрование не предусмотрено.
DBPROP_AUTH_USERID Имя входа SQL Server. Это свойство используется при выборе проверки подлинности SQL Server для авторизации доступа к базе данных SQL Server.
DBPROP_INIT_ASYNCH OLE DB Driver for SQL Server поддерживает асинхронную инициализацию.

Установка DBPROPVAL_ASYNCH_INITIALIZE бита в свойстве DBPROP_INIT_ASYNCH приводит IDBInitialize::Initialize к тому, что вызов становится неблокирующим. Дополнительные сведения о выполнении асинхронных операций см. в этой статье.
DBPROP_INIT_CATALOG Имя существующей базы данных SQL Server, к которой необходимо подключиться.
DBPROP_INIT_DATASOURCE Имя сети сервера, на котором работает экземпляр SQL Server. Если на компьютере запущено несколько экземпляров SQL Server, для подключения к конкретному экземпляру SQL Server значение DBPROP_INIT_DATASOURCE задаётся как \\<ServerName>\<InstanceName>. Последовательность \\ escape используется для самой обратной слэше.
DBPROP_INIT_GENERALTIMEOUT Указывает количество секунд до завершения запроса, кроме инициализации источника данных и выполнения команды. Значение обозначает 0 бесконечный тайм-аут. Провайдеры, работающие по сетевым соединениям или в распределённых или транзакционных ситуациях, могут поддерживать это свойство, чтобы рекомендовать защищённого компонента о завершении времени при длительном запросе. Тайм-ауты для инициализации источников данных и выполнения команд по-прежнему регулируются DBPROP_INIT_TIMEOUTDBPROP_COMMANDTIMEOUTи , соответственно.

DBPROP_INIT_GENERALTIMEOUTявляется только для чтения, и если попытаться её устроить, возвращается ошибка dwstatus.DBPROPSTATUS_NOTSETTABLE
DBPROP_INIT_HWND Дескриптор Windows из вызывающего приложения. Действительный дескриптор окна необходим для инициализации диалогового окна, если разрешен запрос свойств инициализации.
DBPROP_INIT_IMPERSONATION_LEVEL Драйвер OLE DB для SQL Server не поддерживает регулировку уровня имитации.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_LCID Драйвер OLE DB для SQL Server проверяет идентификатор локализации и возвращает ошибку, если идентификатор локализации не поддерживается или не установлен на клиенте.
DBPROP_INIT_LOCATION Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_MODE Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROMPT OLE DB Driver for SQL Server поддерживает все режимы запросов на инициализацию источника данных. Драйвер OLE DB для SQL Server использует DBPROMPT_NOPROMPT в качестве настройки по умолчанию для этого свойства.
DBPROP_INIT_PROTECTION_LEVEL Драйвер OLE DB для SQL Server не поддерживает уровень защиты при подключении к экземплярам SQL Server.

Драйвер OLE DB для SQL Server возвращается DB_S_ERRORSOCCURRED при попытке установить значение свойства. Член dwStatus структуры DBPROP указывает DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROVIDERSTRING См. строку OLE DB для SQL Server позже в этой статье.
DBPROP_INIT_TIMEOUT Драйвер OLE DB для SQL Server возвращает ошибку при инициализации, если соединение с экземпляром SQL Server не может быть установлено в указанное количество секунд.

В наборе свойств DBPROPSET_SQLSERVERDBINIT, специфичных для провайдера, OLE DB Driver for SQL Server определяет эти дополнительные свойства инициализации.

Идентификатор свойства Description
SSPROP_AUTH_ACCESS_TOKEN 1 Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Токен доступа, используемый для аутентификации в Microsoft Entra ID.

Примечание: ошибка указывает это свойство, а также UID, PWD, Trusted_Connection, или Authentication ключевые слова строк соединения или их соответствующие свойства/ключевые слова.
SSPROP_AUTH_MODE 1 Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Указывает используемую SQL или аутентификация Microsoft Entra. Допустимые значения:
  • (not set): режим проверки подлинности, определенный другими ключевыми словами.
  • (empty string): отменяет настройку ранее заданного режима проверки подлинности.
  • ActiveDirectoryPassword: Аутентификация имени пользователя и пароля с идентификацией Microsoft Entra.
  • ActiveDirectoryIntegrated: Интегрированная аутентификация с идентификацией Microsoft Entra.

  • Примечание. Ключевое 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 включить новое поведение шифрования и проверки сертификатов.
SSPROP_AUTH_OLD_PASSWORD Тип: VT_BSTR

R/W: Пиши

По умолчанию:VT_EMPTY

Описание: текущий или просроченный пароль. Дополнительные сведения см. в статье Смена пароля программным способом.
SSPROP_INIT_APPNAME Тип: VT_BSTR

R/W: Читать/писать

Описание: Название приложения клиента.
SSPROP_INIT_AUTOTRANSLATE Тип: VT_BOOL

R/W: Читать/писать

По умолчанию:VARIANT_TRUE

Описание: Конвертация персонажа OEM/ANSI.

VARIANT_TRUE: Драйвер OLE DB для SQL Server переводит строки символов ANSI, отправляемые между клиентом и сервером, преобразуя их через Unicode для минимизации проблем с согласованием расширенных символов между кодовыми страницами клиента и сервером:

Данные клиента DBTYPE_STR , отправленные в экземпляр символа, варчара или текстовой переменной, параметра или столбца SQL Server, преобразуются из символа в Unicode с помощью страницы ANSI клиента (ACP), а затем конвертируются из Unicode в символ с помощью ACP сервера.

SQL Server char, varchar или текстовые данные, отправленные клиентской DBTYPE_STR переменной, преобразуются из символа в Unicode с помощью сервера ACP, а затем конвертируются из Unicode в символ с помощью клиентского ACP.

В версиях драйвера OLE DB, начиная с 18.6.4 и 19.1, приведенные выше преобразования также применяются к данным, передаваемым между элементом CharVal структуры SSVARIANT и экземпляром переменной SQL Server sql_variant, параметром или столбцом.

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

Следующие параметры не влияют на преобразования, выполняемые для этих передач.

Данные клиента Unicode DBTYPE_WSTR отправляются на char, varchar или текст на сервере.

данные char, varchar или текстового сервера, отправляемые в переменную Unicode DBTYPE_WSTR на клиенте.

Данные клиента ANSI DBTYPE_STR отправляются на Unicode nchar, nvarchar или ntext на сервере.

Данные Unicode char, varchar или текстового сервера, отправляемые на переменную ANSI DBTYPE_STR на клиенте.

VARIANT_FALSE: Драйвер OLE DB для SQL Server не выполняет перевод символов.

Драйвер OLE DB для SQL Server не переводит данные клиентских ANSI-символов DBTYPE_STR , отправляемые в char, varchar или текстовые переменные, параметры или столбцы на сервере. Перевод символа, варчара или текстовых данных, отправленных с сервера в DBTYPE_STR переменные на клиенте, не выполняется. Аналогичным образом, в версиях драйвера OLE DB, начиная с 18.6.4 и 19.1, преобразование данных, передаваемых между элементом CharVal структуры SSVARIANT и экземпляром переменной SQL Server sql_variant, параметром или столбцом, не выполняется.

Если клиент и экземпляр SQL Server используют разные APS, расширенные символы могут быть неправильно интерпретированы.
SSPROP_INIT_CONNECT_RETRY_COUNT Тип: VT_I4

R/W: Читать/писать

По умолчанию:1

Описание: Контролирует количество попыток повторного подключения в случае потери соединения. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
SSPROP_INIT_CONNECT_RETRY_INTERVAL Тип: VT_I4

R/W: Читать/писать

По умолчанию:10

Описание: Указывает количество секунд между каждой попыткой повторного подключения в случае потери соединения. Дополнительные сведения см. в разделе "Устойчивость подключения к простою" в драйвере OLE DB.
SSPROP_INIT_CURRENTLANGUAGE Тип: VT_BSTR

R/W: Читать/писать

Описание: Название языка SQL Server. Указывает язык, используемый для выбора и форматирования системных сообщений. Язык должен быть установлен на компьютере под управлением экземпляра SQL Server или инициализации источника данных.
SSPROP_INIT_DATATYPECOMPATIBILITY Тип: VT_UI2

R/W: Читать/писать

По умолчанию:0

Описание: Обеспечивает совместимость типов данных между приложениями SQL Server и ActiveX Data Object (ADO). Если используется значение по умолчанию, 0 обработка типов данных по умолчанию используется поставщиком. Если используется значение , 80 обработка типов данных использует только типы данных SQL Server 2000 (8.x). Пример использования объектов ADO с OLE DB Driver for SQL Server см. в этой статье.
SSPROP_INIT_DISCOVEREDSERVERSPN Тип: VT_BSTR

R/W: Читать

Описание: используется для запроса SPN сервера соединения. (версия 18.6.3 или более поздняя)
SSPROP_INIT_ENCRYPT 1 Тип: VT_BSTR

R/W: Чтение/Письмо

По умолчанию:Mandatory

Описание: Указывает, нужно ли шифровать данные, проходящие по сети.

Если включён Force Protocol Encryption, шифрование всегда происходит, независимо от настройки SSPROP_INIT_ENCRYPT. Если он выключен и SSPROP_INIT_ENCRYPT установлен на Mandatory или Strict, то происходит шифрование.

Если шифрование по протоколу силы отключено и SSPROP_INIT_ENCRYPT установлено на Optional, то шифрование не происходит. Допустимые значения: Optional, Mandatory и Strict. Для версий 18.x.x см. раздел Основные различия в версиях.
SSPROP_INIT_FAILOVERPARTNER Тип: VT_BSTR

R/W: Читать/писать

Описание: Указывает имя партнёра по отказному переключению для зеркалирования базы данных. Это свойство инициализации, которое можно задать только до инициализации. После инициализации он возвращает партнера по отказу, если он есть, который возвращает основной сервер.

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

После установления соединения приложение может запросить этот атрибут, чтобы определить личность партнера по отказу. Если у основного сервера нет партнёра по отказу, это свойство возвращает пустую строку. Дополнительные сведения см. в статье Зеркальное отображение базы данных.
SSPROP_INIT_FAILOVERPARTNERSPN Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Указывает SPN для партнёра по отказу. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
SSPROP_INIT_FILENAME Тип: VT_BSTR

R/W: Читать/писать

Описание: Указывает основное имя файла подрабатываемой базы данных. Эта база данных присоединяется и становится для соединения базой данных по умолчанию. Чтобы использовать SSPROP_INIT_FILENAME, необходимо указать имя базы данных как значение свойства DBPROP_INIT_CATALOGинициализации . Если имя базы данных не существует, то он ищет первичное имя файла, указанное в , SSPROP_INIT_FILENAME и прикрепляет эту базу данных к имени, указанному в DBPROP_INIT_CATALOG. Если база данных была подключена ранее, SQL Server не подключает её заново.
SSPROP_INIT_HOST_NAME_CERTIFICATE Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Имя хоста, используемое для проверки сертификата SQL Server TLS/SSL. Если свойство SSPROP_INIT_HOST_NAME_CERTIFICATE не установлено, драйвер использует DBPROP_INIT_DATASOURCE значение свойства как имя хоста для проверки сертификата SQL Server TLS/SSL.
SSPROP_INIT_MARSCONNECTION Тип: VT_BOOL

R/W: Читать/писать

По умолчанию:VARIANT_FALSE

Описание: Указывает, включены ли несколько активных наборов результатов (MARS) для соединения. Перед установлением соединения с базой данных этот параметр должен быть установлен в значение true. Дополнительные сведения см. в разделе Использование множественных активных результирующих наборов (MARS).
SSPROP_INIT_MULTISUBNETFAILOVER Тип: VT_BOOL

R/W: Читать/писать

По умолчанию:VARIANT_FALSE

Описание: MultiSubnetFailover обеспечивает более быстрый резервный режим для всех групп Always On Availability и экземпляров резервного режима в SQL Server, а также значительно сокращает время резервирования для топологий Always On с одной и мультиподсетью. Во время многосетевого отказа клиент пытается подключиться параллельно. Дополнительные сведения см. в статье Поддержка высокой доступности и аварийного восстановления в драйвере OLE DB Driver for SQL Server.
SSPROP_INIT_NETWORKADDRESS Тип: VT_BSTR

R/W: Читать/писать

Описание: Сетевой адрес сервера, на котором работает экземпляр SQL Server, указанный DBPROP_INIT_DATASOURCE этим свойством.
SSPROP_INIT_NETWORKLIBRARY Тип: VT_BSTR

R/W: Читать/писать

Описание: Название сетевой библиотеки (DLL), используемой для связи с экземпляром SQL Server. Имя не должно включать путь или расширение имени .dll файла.

По умолчанию можно настроить с помощью служебной программы конфигурации клиента SQL Server.

Примечание: поддерживаются только TCP и именованные трубы этим свойством. Если указан префикс, то это приведет к образованию двойного префикса и вызовет ошибку, поскольку это свойство создает префиксы внутри себя.
SSPROP_INIT_PACKETSIZE Тип: VT_I4

R/W: Читать/писать

Описание: Размер пакета табличного потока данных (TDS) в байтах. Значение свойства размера пакета должно быть между 0 512 и 32 767. Значение по умолчанию — 0, то есть фактический размер пакета определяется сервером.
SSPROP_INIT_SERVER_CERTIFICATE Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Указывает путь к файлу сертификата для сопоставления с сертификатом SQL Server TLS/SSL. Этот параметр можно использовать только при Strict включении шифрования. Допустимые форматы сертификатов: PEM, DER и CER. При указании сертификат SQL Server проверяется, проверяется, соответствует ли предоставленный сертификат точному совпадению.
SSPROP_INIT_SERVERSPN Тип: VT_BSTR

R/W: Читать/писать

По умолчанию:VT_EMPTY

Описание: Указывает SPN для сервера. Из-за этой пустой строки OLE DB Driver for SQL Server использует имя субъекта-службы по умолчанию, создаваемое поставщиком.
SSPROP_INIT_TAGCOLUMNCOLLATION Тип: VT_BOOL

R/W: Пиши

По умолчанию:VARIANT_FALSE

Описание: Используется при обновлении базы данных при использовании курсоров на стороне сервера. Это свойство добавляет к данным сведения о параметрах сортировки, полученные с сервера, а не кодовую страницу клиента. В настоящее время это свойство используется только процессом обработки распределенных запросов, поскольку он знает параметры сортировки данных назначения и может правильно их преобразовать.
SSPROP_INIT_TNIR Тип: VT_BOOL

R/W: Читать/писать

По умолчанию:VARIANT_TRUE

Описание: Когда с именем хоста связано несколько IP, TNIR влияет на последовательность соединения, если первый разрешённый IP имени хоста не отвечает. TNIR взаимодействует с MultiSubnetFailover и поддерживает различные варианты последовательности подключений. Дополнительные сведения см. в статье Использование разрешения IP-адресов прозрачной сети.
SSPROP_INIT_TRUST_SERVER_CERTIFICATE 1 Тип: VT_BOOL

R/W: Читать/писать

По умолчанию:VARIANT_FALSE

Описание: используется для включения или отключения проверки сертификатов сервера. Это свойство читается/записывается, но попытка настроить его после установления соединения приводит к ошибке.

Это свойство не используется, если на клиенте настроен запрос проверки сертификата. Однако приложение может использовать его вместе с SSPROP_INIT_ENCRYPT обеспечением шифрования соединения с сервером, даже если клиент настроен так, чтобы не требовать шифрования и на клиенте не предоставляется сертификат.

Клиентские приложения могут запрашивать это свойство после открытия соединения для получения используемых параметров шифрования и проверки.

Примечание: Использование шифрования без проверки сертификата обеспечивает частичную защиту от прослушивания пакетов, но не защищает от атак типа «человек посередине». Он позволяет шифровать вход и данные, отправляемые на сервер, без проверки сертификата сервера.

Дополнительные сведения см. в разделе "Шифрование и проверка сертификатов" в OLE DB.
SSPROP_INIT_USEPROCFORPREP Тип: VT_I4

R/W: Читать/писать

По умолчанию:SSPROPVAL_USEPROCFORPREP_ON

Описание: Использование хранимой процедуры SQL Server. Определяет использование временных хранимых процедур SQL Server для поддержки интерфейса ICommandPrepare . Это свойство имело значение только при соединении с сервером SQL Server 6.5. Для более поздних версий это свойство не используется.

SSPROPVAL_USEPROCFORPREP_OFF: Временная сохранённая процедура не создаётся при подготовке команды.

SSPROPVAL_USEPROCFORPREP_ON: Временная сохранённая процедура создаётся при подготовке команды. Временные хранимые процедуры удаляются при освобождении сеанса.

SSPROPVAL_USEPROCFORPREP_ON_DROP: Временная сохранённая процедура создаётся при подготовке команды. Процедура снимается, когда команда не готова с ICommandPrepare::Unprepare, когда для объекта команды указана новая команда с ICommandText::SetCommandText, или когда все приложения на эту команду освобождаются.
SSPROP_INIT_WSID Тип: VT_BSTR

R/W: Читать/писать

Описание: Строка, идентифицирующая рабочую станцию.

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

В наборе DBPROPSET_SQLSERVERDATASOURCEINFOсвойств, специфичных для провайдера, OLE DB Driver for SQL Server определяет дополнительные свойства. Для получения дополнительной информации см. свойства информации о источниках данных.

Строка OLE DB Driver for SQL Server

OLE DB Driver for SQL Server распознает синтаксис ODBC в значениях свойств строки поставщика. Свойство строки провайдера предоставляется как значение свойства DBPROP_INIT_PROVIDERSTRING инициализации OLE DB при установлении соединения с источником данных OLE DB. Это свойство содержит данные для подключения, определяемые поставщиком OLE DB и необходимые для установления соединения с источником данных OLE DB. В этой строке элементы разделяются точкой с запятой. За последним элементом в строке также должна стоять точка с запятой. Каждый элемент состоит из ключевого слова, символа «=» и значения, переданного при инициализации. Например:

Server=MyServer;UID=MyUserName;

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

Список ключевых слов, доступных в драйвере OLE DB для SQL Server, см. раздел «Использование ключевых слов для строк соединения с OLE DB Driver for SQL Server».