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


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

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

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

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

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

Строка подключения не должна содержать идентификатор пользователя, пароль или ключевое слово Authentication. Дополнительные сведения см. в разделе "Подключение с помощью проверки подлинности Microsoft Entra"
Не установлено .
ПРИЛОЖЕНИЕ Строка Указывает имя приложения, используемое для трассировки. Не установлено .
ApplicationIntent Строка Объявляет тип рабочей нагрузки приложения при соединении с сервером. Возможные значения — ReadOnly и ReadWrite.

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

SqlPassword

ActiveDirectoryPassword

ActiveDirectoryMsi

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

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

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

Возможными значениями являются SQLSRV_ENC_CHAR и UTF-8. Дополнительные сведения см. в статье How to: Send and Retrieve UTF-8 Data Using Built-In UTF-8 Support.
SQLSRV_ENC_CHAR
ColumnEncryption Одна из следующих строк:

Включено

Отключен

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

0 или false для отключения организации пулов соединений.
Указывает, назначено ли соединение из пула соединений (1 или true) или нет (0 или false1. true (1)
ConnectRetryCount Целое число от 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 for SQL Server версии 18
ODBC Driver for SQL Server версии 17
ODBC Driver for SQL Server версии 13
Драйвер 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 Строка Указывает сервер и экземпляр зеркала базы данных (если они включены и настроены), используемые при недоступности сервера-источника.

При использовании 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.
LoginTimeout Целое число (драйвер SQLSRV)

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

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

Дополнительные сведения см. в статье Практическое руководство. Отключение множественных активных результирующих наборов (функция MARS).
true (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 см. в статье Поддержка высокого уровня доступности и аварийного восстановления.
No
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 см. в этой статье.
TraceFile Строка Указывает путь для файла, используемый для трассировки данных. Не установлено .
TraceOn 1 или true для включения трассировки.

0 или false для отключения трассировки.
Указывает, включена (1 или true) или отключена (0 или false) трассировка ODBC для устанавливаемого соединения. false (0)
TransactionIsolation Драйвер 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

or

PDO::SQLSRV_TXN_READ_COMMITTED
TransparentNetworkIPResolution 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. PWD При UID подключении к проверке подлинности SQL Server необходимо задать оба атрибута.

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

См. также

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