Opções de conexão

Baixar o driver PHP

Este tópico lista as opções que são permitidas na matriz associativa (ao usar sqlsrv_connect no driver SQLSRV) ou as palavras-chave que são permitidas no dsn (nome da fonte de dados) (ao usar PDO::__construct no driver PDO_SQLSRV).

Tabela de opções de conexão

Chave Valor Descrição Padrão
AccessToken String A sequência de bytes do Token de Acesso do Microsoft Entra extraída de uma resposta JSON do OAuth.

A cadeia de conexão não deve conter uma ID de usuário, senha ou a palavra-chave Authentication. Para obter mais informações, consulte Conectar usando a autenticação do Microsoft Entra
Não definido.
APP String Especifica o nome do aplicativo usado no rastreamento. Não definido.
ApplicationIntent String Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor. Os valores possíveis são ReadOnly e ReadWrite.

Para obter mais informações sobre o suporte para Drivers PHP do Microsoft SQL Server para grupos de disponibilidade AlwaysOn, confira Suporte para Alta Disponibilidade, Recuperação de Desastre.
ReadWrite
AttachDBFileName String Especifica qual arquivo de banco de dados o servidor deve anexar. Não definido.
Autenticação Uma das cadeias de caracteres a seguir:

SqlPassword

ActiveDirectoryPassword

ActiveDirectoryMsi

ActiveDirectoryServicePrincipal
Especifica o modo de autenticação.

Para obter mais informações, consulte Conectar usando a autenticação do Microsoft Entra
Não definido.
CharacterSet

(sem suporte no driver PDO_SQLSRV)
String Especifica o conjunto de caracteres usado para enviar dados ao servidor.

Os valores possíveis são SQLSRV_ENC_CHAR e UTF-8. Para obter mais informações, confira Como enviar e recuperar dados UTF-8 usando o suporte interno a UTF-8.
SQLSRV_ENC_CHAR
ColumnEncryption Uma das cadeias de caracteres a seguir:

Enabled

Desabilitado

Uma cadeia de caracteres que identifica o protocolo de atestado e a URL para atestar o enclave
Especifica se o recurso de Always Encrypted está habilitado ou não. Se um protocolo de atestado e uma URL forem especificados, o recurso Always Encrypted com enclaves seguros será habilitado, desde que os outros requisitos sejam atendidos como descrito aqui. Desabilitado
ConnectionPooling 1 ou true para pool de conexões ativado.

0 ou false para pool de conexões desativado.
Especifica se a conexão é atribuída de um pool de conexões (1 ou true) ou não (0 ou false).1 true (1)
ConnectRetryCount Um inteiro entre 0 e 255 (inclusive) O número máximo de tentativas de restabelecer uma conexão interrompida antes de desistir. Por padrão, uma tentativa é feita para restabelecer uma conexão interrompida. Um valor 0 significa que não será tentada nenhuma reconexão. 1
ConnectRetryInterval Um inteiro entre 1 e 60 (inclusive) O tempo, em segundos, entre as tentativas de restabelecer uma conexão. O aplicativo tentará se reconectar imediatamente após a detecção de uma conexão interrompida e aguardará ConnectRetryInterval segundos antes de tentar novamente. Essa palavra-chave será ignorada se ConnectRetryCount for igual a 0. 10
Banco de dados String Especifica o nome do banco de dados em uso para a conexão que está sendo estabelecida2. O banco de dados padrão para o logon que está sendo usado.
DecimalPlaces

(sem suporte no driver PDO_SQLSRV)
Um inteiro entre 0 e 4 (inclusive) Especifica as casas decimais ao formatar valores monetários buscados.

Essa opção só funciona quando FormatDecimals é true. Qualquer inteiro negativo ou um valor maior que 4 será ignorado.
Precisão e escala padrão
Driver String Especifica o driver ODBC da Microsoft usado para se comunicar com o SQL Server.

Os valores possíveis são:
Driver ODBC 18 para SQL Server
ODBC Driver 17 for SQL Server
ODBC Driver 13 for SQL Server
ODBC Driver 11 for SQL Server (somente Windows).
Quando a palavra-chave do driver não for especificada, os drivers da Microsoft para PHP para SQL Server tentarão encontrar os drivers ODBC da Microsoft com suporte no sistema, a partir da versão mais recente do ODBC.
Encrypt 1 ou true para criptografia ativada.

0 ou false para criptografia desativada.
Especifica se a comunicação com o SQL Server é criptografada (1 ou true) ou não criptografada (0 ou false)3. false (0)
Failover_Partner String Especifica o servidor e a instância do espelho do banco de dados (se habilitado e configurado) a serem usados quando o servidor primário não está disponível.

Há restrições ao uso de Failover_Partner com MultiSubnetFailover. Para saber mais, confira Suporte para alta disponibilidade, recuperação de desastre.

Não há suporte para essa opção no Linux ou no macOS porque o driver ODBC não dá suporte ao espelhamento de banco de dados no Linux ou macOS. Em vez disso, use grupos de disponibilidade Always On e defina as opções MultiSubnetFailover e TransparentNetworkIPResolution.
Não definido.
FormatDecimals

(sem suporte no driver PDO_SQLSRV)
1 ou true para formatar cadeias de caracteres decimais buscadas.

0 ou false para o comportamento de formatação decimal padrão.
Especifica quando é apropriado adicionar zeros iniciais em cadeias de caracteres decimais e habilita a opção DecimalPlaces para a formatação de tipos monetários. Se for deixado como false, será usado o comportamento padrão de retornar a precisão exata e omitir zeros para valores menores do que 1.

Para saber mais, confira Formatação de cadeias de caracteres decimais e valores monetários.
false (0)
KeyStoreAuthentication KeyVaultPassword

KeyVaultClientSecret
Método de autenticação para acessar o Azure Key Vault. Controla quais tipos de credenciais são usadas com KeyStorePrincipalId e KeyStoreSecret. Para saber mais, confira Usar o Azure Key Vault. Não definido.
KeyStorePrincipalId String Identificador da conta que quer acessar o Azure Key Vault.

Se KeyStoreAuthentication for KeyVaultPassword, esse valor deve ser um nome de usuário do Microsoft Entra.

Se KeyStoreAuthentication for KeyVaultClientSecret, esse valor deverá ser uma ID do cliente do aplicativo.
Não definido.
KeyStoreSecret String Segredo da credencial da conta que quer acessar o Azure Key Vault.

Se KeyStoreAuthentication for KeyVaultPassword, esse valor deve ser uma senha do Microsoft Entra.

Se KeyStoreAuthentication for KeyVaultClientSecret, esse valor deverá ser um segredo do cliente do aplicativo.
Não definido.
Linguagem String Especifica o idioma das mensagens retornadas pelo servidor. Os idiomas disponíveis estão listados na tabela sys.syslanguages.

Essa opção não afeta o idioma usado pelos próprios drivers, pois eles estão disponíveis apenas em inglês no momento, e não afeta o idioma do driver ODBC subjacente, cujo idioma é determinado pela versão localizada instalada no sistema do cliente. Portanto, alterar essa configuração pode resultar no retorno de mensagens em diferentes idiomas, dependendo se elas são provenientes do driver PHP, do driver ODBC ou do SQL Server.
O padrão é o idioma definido no SQL Server.
LoginTimeout Inteiro (driver SQLSRV)

Cadeia de caracteres (driver PDO_SQLSRV)
Especifica o número de segundos a aguardar antes de a tentativa de conexão falhar. Sem tempo limite.
MultipleActiveResultSets 1 ou true para usar vários conjuntos de resultados ativos.

0 ou false para desabilitar vários conjuntos de resultados ativos.
Desabilita ou habilita explicitamente o suporte para MARS (conjuntos de resultados ativos múltiplos).

Para obter mais informações, confira Como desabilitar o MARS (conjuntos de resultados ativos múltiplos).
true (1)
MultiSubnetFailover String Sempre especifique multiSubnetFailover=yes ao conectar-se ao ouvinte de um grupo de disponibilidade do SQL Server 2012 (11.x) ou de uma instância de cluster de failover do SQL Server 2012 (11.x). multiSubnetFailover=yes configura Drivers da Microsoft para PHP para SQL Server para fornecer detecção mais rápida do servidor ativo (atualmente) e conexão com ele. Os valores possíveis são Sim e Não.

Para obter mais informações sobre o suporte para Drivers PHP do Microsoft SQL Server para grupos de disponibilidade AlwaysOn, confira Suporte para Alta Disponibilidade, Recuperação de Desastre.
Não
PWD

(sem suporte no driver PDO_SQLSRV)
String Especifica a senha associada à ID de Usuário a ser usada ao se conectar com a Autenticação do SQL Server4. Não definido.
QuotedId 1 ou true para usar as regras do SQL-92.

0 ou false para usar regras herdadas.
Especifica se devem ser usadas as regras do SQL-92 para identificadores entre aspas (1 ou true) ou as regras herdadas do Transact-SQL (0 ou false). true (1)
ReturnDatesAsStrings

(sem suporte no driver PDO_SQLSRV)
1 ou true para retornar tipos de data e hora como cadeias de caracteres.

0 ou false para retornar tipos de data e hora como tipos DateTime do PHP.
Recupera os tipos de data e hora (datetime, smalldatetime, date, time, datetime2 e datetimeoffset) como cadeias de caracteres ou como tipos do PHP. Para obter mais informações, confira Como recuperar tipos de data e hora como cadeias de caracteres usando o driver SQLSRV.

Ao usar o driver PDO_SQLSRV, as datas são retornadas como cadeias de caracteres, a menos que seja especificado em contrário. Para obter mais informações, confira Como recuperar tipos de data e hora como objetos DateTime PHP usando o driver PDO_SQLSRV.
false
Rolável String "Em buffer" indica que você quer um cursor do lado do cliente (em buffer), que permite armazenar em cache um conjunto de resultados inteiro na memória. Para obter mais informações, confira Tipos de cursor (SQLSRV Driver). Cursor somente de avanço
Servidor

(sem suporte no driver SQLSRV)
String A instância do SQL Server à qual se conectar.

Você também pode especificar um nome de rede virtual, para se conectar a um grupo de disponibilidade Always On. Para obter mais informações sobre o suporte para Drivers PHP do Microsoft SQL Server para grupos de disponibilidade AlwaysOn, confira Suporte para Alta Disponibilidade, Recuperação de Desastre.
Servidor é uma palavra-chave necessária (embora não precise ser a primeira palavra-chave na cadeia de conexão). Se o nome do servidor não for passado para a palavra-chave, será feita uma tentativa para se conectar à instância local.

O valor passado para o servidor pode ser o nome de uma instância do SQL Server ou o endereço IP da instância. Opcionalmente, você pode especificar um número da porta (por exemplo, sqlsrv:server=(local),1033).

A partir da versão 3.0 dos Drivers da Microsoft para PHP para SQL Server , você também pode especificar uma instância LocalDB com server=(localdb)\instancename. Para obter mais informações, confira Suporte para LocalDB.
TraceFile String Especifica o caminho do arquivo usado para dados de rastreamento. Não definido.
TraceOn 1 ou true para habilitar o rastreamento.

0 ou false para desabilitar o rastreamento.
Especifica se o rastreamento ODBC está habilitado (1 ou true) ou desabilitado (0 ou false) para a conexão que está sendo estabelecida. false (0)
TransactionIsolation O driver SQLSRV usa os seguintes valores:

SQLSRV_TXN_READ_UNCOMMITTED

SQLSRV_TXN_READ_COMMITTED

SQLSRV_TXN_REPEATABLE_READ

SQLSRV_TXN_SNAPSHOT

SQLSRV_TXN_SERIALIZABLE

O driver PDO_SQLSRV usa os seguintes 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 o nível de isolamento da transação.

Para obter mais informações sobre o isolamento da transação, confira SET TRANSACTION ISOLATION LEVEL na documentação do SQL Server.
SQLSRV_TXN_READ_COMMITTED

ou

PDO::SQLSRV_TXN_READ_COMMITTED
TransparentNetworkIPResolution Habilitado ou Desabilitado Afeta a sequência de conexão quando o primeiro IP resolvido do nome do host não responde e há vários IPs associados ao nome do host.

Ele interage com MultiSubnetFailover para fornecer sequências de conexões diferentes. Para saber mais, confira Resolução IP de rede transparente ou Como usar a resolução IP de rede transparente.
habilitado
TrustServerCertificate 1 ou true para confiar no certificado.

0 ou false para não confiar no certificado.
Especifica se o cliente deve confiar em um certificado do servidor autoassinado (1 ou true) ou rejeitá-lo (0 ou false). false (0)
UID

(sem suporte no driver PDO_SQLSRV)
String Especifica a ID de Usuário a ser usada ao se conectar com a Autenticação do SQL Server4. Não definido.
WSID String Especifica o nome do computador para rastreamento. Não definido.
  1. O atributo ConnectionPooling não pode ser usado para habilitar/desabilitar o pool de conexões no Linux e no macOS. Confira Pooling de conexões (Microsoft Drivers for PHP for SQL Server).

  2. Todas as consultas executadas na conexão estabelecida são feitas no banco de dados especificado pelo atributo Database. No entanto, caso o usuário tenha as permissões apropriadas, os dados em outros bancos de dados poderão ser acessados usando um nome totalmente qualificado. Por exemplo, se o banco de dados mestre for definido com o atributo de conexão Database, ainda será possível executar uma consulta Transact-SQL que acessa a tabela AdventureWorks.HumanResources.Employee usando o nome totalmente qualificado.

  3. A habilitação de Encryption pode afetar o desempenho de alguns aplicativos devido à sobrecarga de computação necessária para criptografar os dados.

  4. Os atributos UID e PWD devem ser definidos ao se conectar com a Autenticação do SQL Server.

Muitas das chaves com suporte são atributos de cadeias de conexão do ODBC. Para obter informações sobre cadeias de conexão do ODBC, confira Usando palavras-chave da cadeia de conexão com o SQL Native Client.

Consulte Também

Conectando-se ao servidor