Параметры соединения
Этот раздел содержит перечень параметров, которые допускаются в ассоциативном массиве (при использовании 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 или false) 1. | 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 или false) 3. | 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 | Строка | Задает имя компьютера для выполнения трассировки. | Не установлено . |
Атрибут
ConnectionPooling
нельзя использовать для включения или отключения пулов подключений в Linux и macOS. См. Организация пулов соединений (драйверы Майкрософт для PHP для SQL Server).Все запросы, выполняемые в рамках установленного подключения, направляются базе данных, заданной атрибутом
Database
. Однако если у пользователя есть соответствующие разрешения, возможен доступ к данным в других базах с помощью полного доменного имени. Например, если база данных master задана атрибутом подключенияDatabase
, полное доменное имя позволяет выполнить запрос Transact-SQL к таблице AdventureWorks.HumanResources.Employee.Включение
Encryption
может негативно повлиять на производительность некоторых приложений из-за необходимости выполнять дополнительные вычисления для шифрования данных.PWD
ПриUID
подключении к проверке подлинности SQL Server необходимо задать оба атрибута.
Многие поддерживаемые ключи являются атрибутами строк подключения ODBC. Дополнительные сведения о строках подключения ODBC см. в статье Использование ключевых слов строки подключения с SQL Native Client.