Параметры соединения

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

Этот раздел содержит перечень параметров, которые допускаются в ассоциативном массиве (при использовании sqlsrv_connect в драйвере SQLSRV), и ключевых слов, которые допускаются в имени источника данных (dsn, при использовании PDO::__construct в драйвере PDO_SQLSRV).

Таблица параметров подключения

Ключ значение Описание По умолчанию
AccessToken Строка Строка байтов маркера доступа Microsoft Entra, извлеченная из ответа OAuth JSON.

Строка подключения не должна содержать идентификатор пользователя, пароль или ключевое слово Authentication. Дополнительные сведения см. в разделе "Подключение с помощью проверки подлинности Microsoft Entra"

При включении пула соединений драйвер хэширует содержимое токена и добавляет его к APP ключевому слову, чтобы обеспечить различие ключей пула по идентификации токена (начиная с версии 5.13.1). Если приложение не указывает APP, этот хэш отображается в столбце program_namesys.dm_exec_sessions.
Не установлено .
ПРИЛОЖЕНИЕ Строка Указывает имя приложения, используемое для трассировки. Если AccessToken задано с включенным пулом подключений, драйвер добавляет внутренний хэш к APP, чтобы отличать ключи пула. Задание значения для APP переопределяет хэш AccessToken, который появляется в столбце program_namesys.dm_exec_sessions. Не установлено .
ApplicationIntent Строка Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite.

Дополнительные сведения о поддержке групп доступности Always On в драйверах PHP Microsoft для SQL Server см. в статье Поддержка высокого уровня доступности и аварийного восстановления.
Чтение и запись
AttachDBFileName Строка Указывает, какой файл базы данных сервер должен присоединить. Не установлено .
Проверка подлинности Одна из следующих строк:

SqlPassword

ActiveDirectoryPassword [DEPRECATED]

ActiveDirectoryMsi

ActiveDirectoryServicePrincipal
Указывает режим проверки подлинности.

Дополнительные сведения см. в разделе "Подключение с помощью проверки подлинности Microsoft Entra"
Не установлено .
Набор символов

(не поддерживается в драйвере PDO_SQLSRV)
Строка Задает кодировку, используемую для отправки данных на сервер.

Возможными значениями являются SQLSRV_ENC_CHAR и UTF-8. Дополнительные сведения см. в статье Как отправлять и получать данные UTF-8, используя встроенную поддержку UTF-8.
SQLSRV_ENC_CHAR
ШифрованиеСтолбца Одна из следующих строк:

Включено

Отключен

Строка, идентифицирующая протокол аттестации и URL-адрес для аттестации анклава.
Указывает, включена ли функция Always Encrypted. Если указаны протокол аттестации и URL-адрес, то Always Encrypted с безопасными анклавами включён, при условии, что выполнены другие требования, как описано в разделе Использование Always Encrypted с безопасными анклавами с драйверами PHP для SQL Server. Отключено
ConnectionPooling 1 или true для включения пула соединений.

0 или false для отключения объединения соединений.
Указывает, назначено ли соединение из пула соединений (1 или true) или нет (0 или false1. true (1)
КоличествоПовторныхПопытокПодключения Целое число от 0 до 255 (включительно). Максимальное число попыток восстановить разорванное соединение перед прекращением попыток. По умолчанию выполняется одна попытка восстановить разорванное подключение. Значение 0 означает, что попытки повторного подключения не будут предприняты. 1
ИнтервалПовторногоПодключения (ConnectRetryInterval) Целое число от 1 до 60 (включительно). Время в секундах между попытками восстановить подключение. Приложение попытается повторно подключиться сразу после обнаружения разорванного подключения, а затем будет ждать ConnectRetryInterval секунд, прежде чем повторить попытку. Это ключевое слово игнорируется, если параметр ConnectRetryCount равен 0. 10
База данных Строка Указывает имя базы данных, используемой для устанавливаемого соединения 2. База данных по умолчанию для используемого имени входа.
DecimalPlaces

(не поддерживается в драйвере PDO_SQLSRV)
Целое число от 0 до 4 (включительно). Указывает число десятичных знаков при форматировании полученных денежных значений.

Этот параметр работает только в том случае, если FormatDecimals имеет значение true. Любое отрицательное целое число или значение больше 4 будет игнорироваться.
Точность и масштаб по умолчанию
Драйвер Строка Указывает драйвер Microsoft ODBC, используемый для связи с SQL Server.

Возможны следующие значения:
ODBC Driver 18 для SQL Server
ODBC Driver 17 для SQL Server
Драйвер ODBC 13 для SQL Server
Драйвер ODBC 11 для SQL Server (только для Windows).
Если ключевое слово Driver не указано, драйверы Майкрософт для PHP в SQL Server попытаются найти поддерживаемые в системе драйверы Microsoft ODBC, начиная с последней версии ODBC и т. д.
Шифрование 1 или true для включения шифрования.

0 или false для отключения шифрования.
Указывает, выполняется ли шифрование обмена данными с SQL Server (1 или true) или нет (0 или false3. false (0)
Резервный_партнер Строка Указывает сервер и экземпляр зеркала базы данных (если они включены и настроены), используемые при недоступности сервера-источника.

При использовании Failover_Partner с MultiSubnetFailover применяются определенные ограничения. См.подробнее о поддержке высокой доступности и аварийного восстановления.

Этот параметр не поддерживается в Linux или macOS, так как зеркальное отображение базы данных не поддерживается драйвером ODBC в Linux или macOS. Вместо этого следует использовать группы доступности Always On и задать параметры MultiSubnetFailover и TransparentNetworkIPResolution.
Не установлено .
FormatDecimals

(не поддерживается в драйвере PDO_SQLSRV)
Укажите значение 1 или true, чтобы форматировать полученные десятичные строки.

Укажите значение 0 или false для форматирования по умолчанию в десятичном формате.
Указывает, следует ли добавлять начальные нули к десятичным строкам, когда это применимо, и включает параметр DecimalPlaces для форматирования денежных типов. Если задано значение false, по умолчанию будут возвращаться точные числа с пропуском начальных нулей для значений меньше 1.

См. подробнее о форматировании десятичных строк и денежных значений.
false (0)
KeyStoreAuthentication KeyVaultPassword

KeyVaultClientSecret
Метод проверки подлинности для доступа к Azure Key Vault. Определяет тип учетных данных, используемых с KeyStorePrincipalId и KeyStoreSecret. Дополнительные сведения см. в разделе об использовании Azure Key Vault. Не установлено .
KeyStorePrincipalId Строка Идентификатор учетной записи для доступа к Azure Key Vault.

Если KeyStoreAuthentication имеет значение KeyVaultPassword, это значение должно быть именем пользователя Microsoft Entra.

Если для параметра KeyStoreAuthentication указано KeyVaultClientSecret, то это значение должно быть идентификатором клиента приложения.
Не установлено .
KeyStoreSecret Строка Секрет учетных данных для учетной записи, которая получает доступ к Azure Key Vault.

Если KeyStoreAuthentication имеет значение KeyVaultPassword, это значение должно быть паролем Microsoft Entra.

Если для параметра KeyStoreAuthentication указано KeyVaultClientSecret, то это значение должно быть секретом клиента приложения.
Не установлено .
Язык Строка Указывает язык сообщений, возвращаемых сервером. Доступные языки перечислены в таблице sys.syslanguages.

Этот параметр не влияет на язык, используемый самими драйверами, так как в настоящее время он доступен только на английском языке и не влияет на язык базового драйвера ODBC, который определяется локализованной версией, установленной в клиентской системе. Поэтому изменение этого параметра может привести к возврату сообщений на разных языках в зависимости от того, откуда они поступают: из драйвера PHP, драйвера ODBC или SQL Server.
По умолчанию используется язык, указанный в SQL Server.
Предельное время ожидания входа Целое число (драйвер SQLSRV)

Строка (драйвер PDO_SQLSRV)
Указывает количество секунд ожидания перед неудачным завершением соединения. Тайм-аут отсутствует.
MultipleActiveResultSets 1 или true для использования множественных активных результирующих наборов.

0 или false для отключения множественных активных результирующих наборов.
Отключает или явным образом включает поддержку множественных активных результирующих наборов (MARS).

Дополнительные сведения см. в статье Практическое руководство. Отключение множественных активных результирующих наборов (функция MARS).
истина (1)
MultiSubnetFailover Строка Всегда указывайте multiSubnetFailover=yes при подключении к прослушивателю группы доступности SQL Server 2012 (11.x) или экземпляру отказоустойчивого кластера SQL Server 2012 (11.x). multiSubnetFailover=yes Настраивает драйверы Майкрософт для PHP для SQL Server, чтобы ускорить обнаружение и подключение к активному серверу (в настоящее время). Возможные значения: Да и Нет.

Дополнительные сведения о поддержке групп доступности Always On в драйверах PHP Microsoft для SQL Server см. в статье Поддержка высокого уровня доступности и аварийного восстановления.
Нет
PWD

(не поддерживается в драйвере PDO_SQLSRV)
Строка Указывает пароль, связанный с идентификатором пользователя, применяемый при подключении с использованием проверки подлинности SQL Server 4. Не установлено .
QuotedId 1 или true для использования правил SQL-92.

0 или false для использования устаревших правил.
Указывает, следует ли использовать правила SQL-92 для идентификаторов, заключенных в кавычки (1 или true), или устаревшие правила Transact-SQL (0 или false). true (1)
ReturnDatesAsStrings

(не поддерживается в драйвере PDO_SQLSRV)
1 или true для возврата типов даты и времени в виде строк.

0 или false для возврата типов даты и времени в виде типов DateTime PHP.
Позволяет извлечь типы даты и времени (datetime, smalldatetime, date, time, datetime2 и datetimeoffset) в виде строк или типов PHP. Дополнительные сведения см. в практическом руководстве по получению типов даты и времени в виде строк с помощью драйвера SQLSRV.

При использовании драйвера PDO_SQLSRV даты возвращаются в виде строк, если не указано иное. См. подробнее об извлечении типов даты и времени в виде объектов PHP DateTime с помощью драйвера PDO_SQLSRV.
false
С возможностью прокрутки Строка "Буферизовано" означает, что требуется клиентский (буферизированный) курсор, который позволяет кэшировать весь результирующий набор в памяти. Дополнительные сведения см. в статье Типы курсоров (драйвер SQLSRV). Однопроходный курсор
Сервер

(не поддерживается в драйвере SQLSRV)
Строка SQL Server - экземпляр для подключения.

Вы также можете указать имя виртуальной сети для подключения к группе доступности Always On. Дополнительные сведения о поддержке групп доступности Always On в драйверах PHP Microsoft для SQL Server см. в статье Поддержка высокого уровня доступности и аварийного восстановления.
Server является обязательным ключевым словом (хотя оно не обязательно должно стоять на первом месте в строке подключения). Если имя сервера не передано ключевому слову, предпринимается попытка подключиться к локальному экземпляру.

Значение, переданное серверу, может быть именем экземпляра SQL Server или IP-адресом экземпляра. Вы можете дополнительно указать номер порта (например, sqlsrv:server=(local),1033).

Начиная с версии 3.0 драйверов Майкрософт для PHP для SQL Server, можно также указать экземпляр LocalDB с помощью server=(localdb)\instancename. Дополнительные сведения о поддержке LocalDB см. в этой статье.
Файл трассировки Строка Указывает путь для файла, используемый для трассировки данных. Не установлено .
TraceOn 1 или true для активации трассировки.

0 или false для отключения трассировки.
Указывает, включена (1 или true) или отключена (0 или false) трассировка ODBC для устанавливаемого соединения. false (0)
Изоляция транзакций Драйвер SQLSRV использует следующие значения:

SQLSRV_TXN_READ_UNCOMMITTED

SQLSRV_TXN_READ_COMMITTED

SQLSRV_TXN_REPEATABLE_READ

SQLSRV_TXN_SNAPSHOT

SQLSRV_TXN_SERIALIZABLE

Драйвер PDO_SQLSRV использует следующие значения:

PDO::SQLSRV_TXN_READ_UNCOMMITTED

PDO::SQLSRV_TXN_READ_COMMITTED

PDO::SQLSRV_TXN_REPEATABLE_READ

PDO::SQLSRV_TXN_SNAPSHOT

PDO::SQLSRV_TXN_SERIALIZABLE
Указывает уровень изоляции транзакции.

Дополнительные сведения об изоляции транзакций см. в статье SET TRANSACTION ISOLATION LEVEL в документации по SQL Server.
SQLSRV_TXN_READ_COMMITTED

или

PDO::SQLSRV_TXN_READ_COMMITTED
Прозрачное разрешение IP-адресов сети Enabled (Включено) или Disabled (Отключено) Влияет на последовательность подключений, когда первый разрешенный IP-адрес имени узла не отвечает и имеется несколько IP-адресов, связанных с именем этого узла.

Он взаимодействует с MultiSubnetFailover для предоставления различных последовательностей подключения. Дополнительные сведения см. в статьях Support for High Availability, Disaster Recovery (Поддержка высокого уровня доступности и аварийного восстановления) и Using Transparent Network IP Resolution (Использование разрешения IP-адресов прозрачной сети).
Включен
TrustServerCertificate 1 или true , чтобы доверять сертификату.

0 или false , чтобы не доверять сертификату.
Указывает, должен ли клиент доверять самозаверяющему сертификату сервера (1 или true) или отклонить его (0 или false). false (0)
ИД пользователя

(не поддерживается в драйвере PDO_SQLSRV)
Строка Указывает идентификатор пользователя, применяемый при подключении с использованием проверки подлинности SQL Server 4. Не установлено .
WSID Строка Задает имя компьютера для выполнения трассировки. Не установлено .
  1. Атрибут ConnectionPooling нельзя использовать для включения или отключения пулов подключений в Linux и macOS. См. Организация пулов соединений (драйверы Майкрософт для PHP для SQL Server).

  2. Все запросы, выполняемые в рамках установленного подключения, направляются базе данных, заданной атрибутом Database. Однако если у пользователя есть соответствующие разрешения, возможен доступ к данным в других базах с помощью полного доменного имени. Например, если для базы данных master установлен атрибут подключения Database, все равно можно выполнить запрос Transact-SQL к таблице AdventureWorks.HumanResources.Employee, используя полное имя.

  3. Включение Encryption может негативно повлиять на производительность некоторых приложений из-за необходимости выполнять дополнительные вычисления для шифрования данных.

  4. При подключении с использованием проверки подлинности SQL Server необходимо задать оба атрибута UID и PWD.

Многие поддерживаемые ключи являются атрибутами строк подключения ODBC. Дополнительные сведения о строках подключения ODBC см. в статье Использование ключевых слов строки подключения с SQL Native Client.

См. также

Подключение к серверу