Opciones de conexión

Descargar controlador PHP

En este tema se enumeran las opciones que se permiten en la matriz asociativa (al usar sqlsrv_connect en el controlador SQLSRV) o las palabras clave permitidas en el nombre del origen de datos (DSN) (al usar PDO::__construct en el controlador PDO_SQLSRV).

Tabla de las opciones de conexión

Clave Valor Descripción Valor predeterminado
AccessToken Cadena La cadena de bytes del token de acceso de Microsoft Entra extraído de una respuesta JSON de OAuth.

La cadena de conexión no debe contener un identificador de usuario, una contraseña o la palabra clave Authentication. Para obtener más información, consulta Conectar mediante la autenticación de Microsoft Entra
Sin establecer.
APP String Especifica el nombre de aplicación que se utiliza en el seguimiento. Sin establecer.
Intención de aplicaciones String Declara el tipo de carga de trabajo de la aplicación al conectarse a un servidor. Los valores posibles son ReadOnly y ReadWrite.

Para más información sobre la compatibilidad con controladores de Microsoft para PHP en SQL Server para grupos de disponibilidad AlwaysOn, consulte Compatibilidad con alta disponibilidad y recuperación ante desastres.
ReadWrite
AttachDBFileName String Especifica qué archivo de base de datos debe asociar el servidor. Sin establecer.
Authentication Una de las cadenas siguientes:

SqlPassword

ActiveDirectoryPassword

ActiveDirectoryMsi

ActiveDirectoryServicePrincipal
Especifica el modo de autenticación.

Para obtener más información, consulta Conectar mediante la autenticación de Microsoft Entra
Sin establecer.
CharacterSet

(no compatible con el controlador PDO_SQLSRV)
String Especifica el juego de caracteres que se utiliza para enviar datos al servidor.

Los valores posibles son SQLSRV_ENC_CHAR y UTF-8. Para más información, vea: Cómo: Envío y recuperación de datos UTF-8 gracias a la compatibilidad integrada con UTF-8.
SQLSRV_ENC_CHAR
ColumnEncryption Una de las cadenas siguientes:

Enabled

Deshabilitada

Cadena que identifica el protocolo de atestación y la dirección URL para la atestación del enclave.
Especifica si la característica Always Encrypted está habilitada o no. Si se especifican un protocolo de atestación y una dirección URL, se habilitará Always Encrypted con enclaves seguros, siempre que se cumplan los otros requisitos, tal y como se describe aquí. Disabled
ConnectionPooling 1 o True para activar la agrupación de conexiones.

0 o False para desactivar la agrupación de conexiones.
Especifica si la conexión se asigna desde una agrupación de conexiones (1 o true) o no (0 ofalse) 1. true (1)
ConnectRetryCount Un entero comprendido entre 0 y 255, ambos incluidos El número máximo de intentos de restablecer una conexión interrumpida antes de abandonar. De forma predeterminada, se realiza un solo intento de restablecer una conexión cuando se interrumpe. Un valor de 0 significa que no se intentará ninguna reconexión. 1
ConnectRetryInterval Un entero comprendido entre 1 y 60, ambos incluidos El tiempo, en segundos, entre los intentos de restablecer una conexión. La aplicación intentará volver a conectarse inmediatamente al detectar una conexión interrumpida y, a continuación, esperará ConnectRetryInterval segundos antes de volver a intentarlo. Esta palabra clave se omite si ConnectRetryCount es igual a 0. 10
Base de datos String Especifica el nombre de la base de datos que se está utilizando para la conexión que se va a establecer2. La base de datos predeterminada del inicio de sesión que se va a utilizar.
DecimalPlaces

(no compatible con el controlador PDO_SQLSRV)
Un entero comprendido entre 0 y 4, ambos incluidos Especifica los lugares decimales al dar formato a los valores de moneda obtenidos.

Esta opción solo funciona cuando FormatDecimals es true. Se omitirá cualquier entero negativo o un valor mayor que 4.
Precisión y escala predeterminadas
Controlador String Especifica el controlador ODBC de Microsoft que se usa para comunicarse con SQL Server.

Los valores posibles son:
ODBC Driver 18+ para SQL Server
Controlador ODBC 17 para SQL Server
Controlador ODBC 13 para SQL Server
Controlador ODBC 11 para SQL Server (solo Windows)
Cuando no se especifica la palabra clave Driver, los controladores de Microsoft para PHP para SQL Server intentan encontrar controladores ODBC de Microsoft compatibles en el sistema, empezando por la versión más reciente de ODBC, etc.
Cifrado 1 o True activar el cifrado.

0 o False para desactivar el cifrado desactivado.
Especifica si se cifra la comunicación con SQL Server (1 o true) o se descifra (0 o false)3. false (0)
Failover_Partner String Especifica el servidor y la instancia del reflejo de la base de datos (si está habilitada y configurada) que se usará cuando el servidor principal no esté disponible.

Existen restricciones en el uso de Failover_Partner con MultiSubnetFailover. Para más información, consulte Compatibilidad con alta disponibilidad y recuperación ante desastres.

Esta opción no se admite en Linux ni en macOS porque la creación de reflejo de la base de datos no es compatible con el controlador ODBC en Linux o macOS. En su lugar, use los grupos de disponibilidad Always On y establezca las opciones MultiSubnetFailover y TransparentNetworkIPResolution.
Sin establecer.
FormatDecimals

(no compatible con el controlador PDO_SQLSRV)
1 o true para dar formato a las cadenas decimales capturadas.

0 o false para el comportamiento de formato decimal predeterminado.
Especifica si se agregan ceros iniciales a las cadenas decimales cuando sea apropiado y habilita la opción DecimalPlaces para dar formato a los tipos de moneda. Si el valor se deja como false, se usa el comportamiento predeterminado de devolver la precisión exacta y omitir los ceros iniciales de los valores menores que 1.

Para obtener más información, consulte Aplicación de formato a cadenas decimales y valores de moneda.
false (0)
KeyStoreAuthentication KeyVaultPassword

KeyVaultClientSecret
Método de autenticación para acceder a Azure Key Vault. Controla qué tipo de credenciales se utilizan con KeyStorePrincipalId y KeyStoreSecret. Para más información, consulte Uso de Azure Key Vault. Sin establecer.
KeyStorePrincipalId String Identificador de la cuenta que busca acceder a Azure Key Vault.

Si KeyStoreAuthentication es KeyVaultPassword, este valor debe ser un nombre de usuario de Microsoft Entra.

Si KeyStoreAuthentication es KeyVaultClientSecret, este valor debe ser un id. de cliente de aplicación.
Sin establecer.
KeyStoreSecret String Secreto de credencial de la cuenta que busca acceder a Azure Key Vault.

Si KeyStoreAuthentication es KeyVaultPassword, este valor debe ser una contraseña de Microsoft Entra.

Si KeyStoreAuthentication es KeyVaultClientSecret, este valor debe ser un secreto de cliente de aplicación.
Sin establecer.
Idioma String Especifica el idioma de los mensajes que devuelve el servidor. Los idiomas disponibles se enumeran en la tabla sys.syslanguages.

Esta opción no afecta el idioma que usan los propios controladores, ya que actualmente solo está disponible en inglés, ni tampoco afecta el idioma del controlador ODBC subyacente, cuyo idioma viene determinado por la versión localizada instalada en el sistema del cliente. Por lo tanto, el cambio de esta configuración puede provocar que los mensajes se devuelvan en idiomas distintos, en función de si proceden del controlador PHP, del controlador ODBC o de SQL Server.
El valor predeterminado es el idioma establecido en SQL Server.
LoginTimeout Integer (controlador SQLSRV)

String (controlador PDO_SQLSRV)
Especifica el número de segundos que se espera antes de que se produzca un error en el intento de conexión. Sin tiempo de espera.
MultipleActiveResultSets 1 o True para utilizar conjuntos de resultados activos múltiples.

0 o False para deshabilitar conjuntos de resultados activos múltiples.
Deshabilita o habilita explícitamente la compatibilidad con conjuntos de resultados activos múltiples (MARS).

Para más información, consulte Procedimiento para deshabilitar conjuntos de resultados activos múltiples (MARS).
True (1)
MultiSubnetFailover String Especifique siempre multiSubnetFailover=yes al conectarse a un agente de escucha de un grupo de disponibilidad de SQL Server 2012 (11.x) o a una instancia de clúster de conmutación por error de SQL Server 2012 (11.x). multiSubnetFailover=yes configura Controladores de Microsoft para PHP para SQL Server para proporcionar una detección más rápida y conexión con el servidor (actualmente) activo. Los valores posibles Yes y No.

Para más información sobre la compatibilidad con controladores de Microsoft para PHP en SQL Server para grupos de disponibilidad AlwaysOn, consulte Compatibilidad con alta disponibilidad y recuperación ante desastres.
No
PWD

(no compatible con el controlador PDO_SQLSRV)
String Especifica la contraseña asociada con el id. de usuario que se utilizará al conectar con la autenticación de SQL Server4. Sin establecer.
QuotedId 1 o true para usar las reglas de SQL-92.

0 o False para usar las reglas heredadas.
Especifica si quiere utilizar reglas de SQL-92 para identificadores entrecomillados (1 o true) o para usar las reglas heredadas de Transact-SQL (0 o false). true (1)
ReturnDatesAsStrings

(no compatible con el controlador PDO_SQLSRV)
1 o True para devolver tipos de fecha y hora como cadenas.

0 o False para devolver tipos de fecha y hora como tipos de datos PHP DateTime .
Recupera tipos de fecha y hora (datetime, smalldatetime, date, time, datetime2 y datetimeoffset) como cadenas o como tipos de datos PHP. Para más información, vea: Cómo: Recuperación de los tipos de fecha y hora como cadenas con el controlador SQLSRV.

Al utilizar el controlador PDO_SQLSRV, las fechas se devuelven como cadenas, a menos que se especifique otra cosa. Para más información, vea: Cómo: Recuperación de los tipos de fecha y hora como objetos de fecha y hora PHP mediante el controlador PDO_SQLSRV.
false
De desplazamiento String "en búfer" indica que desea que un cursor de cliente (en búfer), que permite almacenar en caché un conjunto de resultados en memoria completo. Para más información, consulte Tipos de cursor (controlador SQLSRV). Cursor de solo avance
Server

(no compatible con el controlador SQLSRV)
String El nombre de la instancia de SQL Server a la que se conectará.

También puede especificar un nombre de red virtual para conectarse a un grupo de disponibilidad Always On. Para más información sobre la compatibilidad con controladores de Microsoft para PHP en SQL Server para grupos de disponibilidad AlwaysOn, consulte Compatibilidad con alta disponibilidad y recuperación ante desastres.
Server es una palabra clave obligatoria (aunque no tiene que ser la primera palabra clave de la cadena de conexión). Si no se transmite un nombre de servidor a la palabra clave, se realiza un intento para conectarse a la instancia local.

El valor transmitido al servidor puede ser el nombre de una instancia de SQL Server o la dirección IP de la instancia. Si quiere, puede especificar un número de puerto (sqlsrv:server=(local),1033por ejemplo).

A partir de la versión 3.0 de los Controladores de Microsoft para PHP para SQL Server , también puede especificar una instancia de LocalDB con server=(localdb)\instancename. Para más información, consulte Compatibilidad con LocalDB.
TraceFile String Especifica la ruta de acceso del archivo utilizado para los datos de seguimiento. Sin establecer.
TraceOn 1 o True para habilitar el seguimiento.

0 o False para deshabilitar el seguimiento.
Especifica si está habilitado el seguimiento de ODBC (1 o true) o si está deshabilitado (0 o false) para la conexión que se va a establecer. false (0)
TransactionIsolation El controlador SQLSRV utiliza los siguientes valores:

SQLSRV_TXN_READ_UNCOMMITTED

SQLSRV_TXN_READ_COMMITTED

SQLSRV_TXN_REPEATABLE_READ

SQLSRV_TXN_SNAPSHOT

SQLSRV_TXN_SERIALIZABLE

El controlador PDO_SQLSRV utiliza los siguientes valores:

PDO::SQLSRV_TXN_READ_UNCOMMITTED

PDO::SQLSRV_TXN_READ_COMMITTED

PDO::SQLSRV_TXN_REPEATABLE_READ

PDO::SQLSRV_TXN_SNAPSHOT

PDO::SQLSRV_TXN_SERIALIZABLE
Especifica el nivel de aislamiento de la transacción.

Para obtener más información sobre el aislamiento de transacciones, vea SET TRANSACTION ISOLATION LEVEL en la documentación de SQL Server.
SQLSRV_TXN_READ_COMMITTED

or

PDO::SQLSRV_TXN_READ_COMMITTED
TransparentNetworkIPResolution Habilitado o Deshabilitado Afecta la secuencia de conexión cuando la primera dirección IP resuelta del nombre de host no responde y hay varias direcciones IP asociadas con el nombre de host.

Interactúa con MultiSubnetFailover para proporcionar secuencias de conexión distintas. Para más información, consulte Resolución de IP de red transparente o Uso de resolución de IP de red transparente.
habilitado
TrustServerCertificate 1 o True para confiar en certificado.

0 o False para no confiar en el certificado.
Especifica si el cliente debe confiar (1 o true) o rechazar (0 o false) un certificado de servidor autofirmado. false (0)
UID

(no compatible con el controlador PDO_SQLSRV)
String Especifica el id. de usuario que se utilizará al conectarse con la autenticación de SQL Server4. Sin establecer.
WSID String Especifica el nombre del equipo del que se realizará el seguimiento. Sin establecer.
  1. No se puede usar el atributo ConnectionPooling para habilitar o deshabilitar la agrupación de conexiones en Linux y macOS. Vea Agrupación de conexiones (controladores de Microsoft para PHP para SQL Server).

  2. Todas las consultas ejecutadas en la conexión establecida se realizan en la base de datos que especifica el atributo Database. Pero si el usuario tiene los permisos adecuados, puede accederse a los datos de otras bases de datos mediante un nombre completo. Por ejemplo, si la base de datos master se establece con el atributo de conexión Database, todavía es posible ejecutar una consulta de Transact-SQL que accede a la tabla AdventureWorks.HumanResources.Employee mediante el nombre completo.

  3. Si se habilita Encryption, puede afectar al rendimiento de algunas aplicaciones debido a la sobrecarga computacional que se precisa para cifrar los datos.

  4. Deben establecerse los atributos UID y PWD al realizar la conexión con la autenticación de SQL Server.

Muchas de las claves admitidas son atributos de cadena de conexión ODBC. Para obtener información sobre las cadenas de conexión ODBC, vea Usar palabras clave de cadena de conexión con SQL Server Native Client.

Consulte también

Conexión al servidor