Connection Options

Microsoft Drivers for PHP for SQL Server

Collapse image Expand Image Copy image CopyHover image

This topic lists the options that are permitted in the associative array (when using sqlsrv_connect in the SQLSRV driver) or the keywords that are permitted in the data source name (dsn) (when using PDO::__construct in the PDO_SQLSRV driver).

Key

Value

Description

Default

APP

String

Specifies the application name used in tracing.

No value set.

ApplicationIntent

String

Declares the application workload type when connecting to a server. Possible values are ReadOnly and ReadWrite.

For more information about Microsoft Drivers for PHP for SQL Server support for AlwaysOn Availability Groups, see PHP Driver for SQL Server Support for High Availability, Disaster Recovery.

ReadWrite

AttachDBFileName

String

Specifies which database file the server should attach.

No value set.

CharacterSet

(not supported in the PDO_SQLSRV driver)

String

Specifies the character set used to send data to the server.

Possible values are SQLSRV_ENC_CHAR and UTF-8. For more information, see How to: Send and Retrieve UTF-8 Data Using Built-In UTF-8 Support.

SQLSRV_ENC_CHAR

ConnectionPooling

1 or true for connection pooling on.

0 or false for connection pooling off.

Specifies whether the connection is assigned from a connection pool (1 or true) or not (0 or false).

true (1)

Database

String

Specifies the name of the database in use for the connection being established1.

The default database for the login being used.

Encrypt

1 or true for encryption on.

0 or false for encryption off.

Specifies whether the communication with SQL Server is encrypted (1 or true) or unencrypted (0 or false)2.

false (0)

Failover_Partner

String

Specifies the server and instance of the database's mirror (if enabled and configured) to use when the primary server is unavailable.

There are restrictions to using Failover_Partner with MultiSubnetFailover. For more information, see PHP Driver for SQL Server Support for High Availability, Disaster Recovery.

No value set.

LoginTimeout

Integer (SQLSRV driver

String (PDO_SQLSRV driver

Specifies the number of seconds to wait before failing the connection attempt.

No timeout.

MultipleActiveResultSets

1 or true to use multiple active result sets.

0 or false to disable multiple active result sets.

Disables or explicitly enables support for multiple active Result sets (MARS).

For more information, see How to: Disable Multiple Active Resultsets (MARS).

true (1)

MultiSubnetFailover

String

Always specify multiSubnetFailover=yes when connecting to the availability group listener of a SQL Server 2012 availability group or a SQL Server 2012 Failover Cluster Instance. multiSubnetFailover=yes configures Microsoft Drivers for PHP for SQL Server to provide faster detection of and connection to the (currently) active server. Possible values are Yes and No.

For more information about Microsoft Drivers for PHP for SQL Server support for AlwaysOn Availability Groups, see PHP Driver for SQL Server Support for High Availability, Disaster Recovery.

No

PWD

(not supported in the PDO_SQLSRV driver)

String

Specifies the password associated with the User ID to be used when connecting with SQL Server Authentication3.

No value set.

QuotedId

1 or true to use SQL-92 rules.

0 or false to use legacy rules.

Specifies whether to use SQL-92 rules for quoted identifiers (1 or true) or to use legacy Transact-SQL rules (0 or false).

true (1)

ReturnDatesAsStrings

(not supported in the PDO_SQLSRV driver)

1 or true to return date and time types as strings.

0 or false to return date and time types as PHP DateTime types.

Retrieves date and time types (datetime, date, time, datetime2, and datetimeoffset) as strings or as PHP types. When using the PDO_SQLSRV driver, dates are returned as strings. The PDO_SQLSRV driver has no datetime type.

For more information, see How to: Retrieve Date and Time Type as Strings Using the SQLSRV Driver.

false

Scrollable

String

"buffered" indicates that you want a client-side (buffered) cursor, which allows you to cache an entire result set in memory. See Cursor Types (SQLSRV Driver) for more information.

Forward-only cursor

Server

(not supported in the SQLSRV driver)

String

The SQL Server instance to connect to.

You can also specify a virtual network name, to connect to an AlwaysOn availability group. For more information about Microsoft Drivers for PHP for SQL Server support for AlwaysOn Availability Groups, see PHP Driver for SQL Server Support for High Availability, Disaster Recovery.

Server is a required keyword (although it does not have to be the first keyword in the connection string). If a server name is not passed to the keyword, an attempt will be made to connect to the local instance.

The value passed to Server can be the name of a SQL Server instance, or the IP address of the instance. You can optionally specify a port number (for example, sqlsrv:server=(local),1033).

Beginning in version 3.0 of the Microsoft Drivers for PHP for SQL Server you can also specify a LocalDB instance with server=(localdb)\instancename. For more information, see PHP Driver for SQL Server Support for LocalDB.

TraceFile

String

Specifies the path for the file used for trace data.

No value set.

TraceOn

1 or true to enable tracing.

0 or false to disable tracing.

Specifies whether ODBC tracing is enabled (1 or true) or disabled (0 or false) for the connection being established.

false (0)

TransactionIsolation

The SQLSRV driver uses the following values:

SQLSRV_TXN_READ_UNCOMMITTED

SQLSRV_TXN_READ_COMMITTED

SQLSRV_TXN_REPEATABLE_READ

SQLSRV_TXN_SNAPSHOT

SQLSRV_TXN_SERIALIZABLE

The PDO_SQLSRV driver uses the following values:

PDO::SQLSRV_TXN_READ_UNCOMMITTED

PDO::SQLSRV_TXN_READ_COMMITTED

PDO::SQLSRV_TXN_REPEATABLE_READ

PDO::SQLSRV_TXN_SNAPSHOT

PDO::SQLSRV_TXN_SERIALIZABLE

Specifies the transaction isolation level.

For more information about transaction isolation, see SET TRANSACTION ISOLATION LEVEL in the SQL Server documentation.

SQLSRV_TXN_READ_COMMITTED

or

PDO::SQLSRV_TXN_READ_COMMITTED

TrustServerCertificate

1 or true to trust certificate.

0 or false to not trust certificate.

Specifies whether the client should trust (1 or true) or reject (0 or false) a self-signed server certificate.

false (0)

UID

(not supported in the PDO_SQLSRV driver)

String

Specifies the User ID to be used when connecting with SQL Server Authentication3.

No value set.

WSID

String

Specifies the name of the computer for tracing.

No value set.

1. All queries executed on the established connection will be made to the database that is specified by the Database attribute. However, data in other databases can be accessed by using a fully-qualified name if the user has the appropriate permissions. For example, if the master database is set with the Database connection attribute, it is still possible to execute a Transact-SQL query that accesses the AdventureWorks.HumanResources.Employee table by using the fully-qualified name.

2. Enabling Encryption can impact the performance of some applications due to the computational overhead required to encrypt data.

3. The UID and PWD attributes must both be set when connecting with SQL Server Authentication.

Many of the supported keys are ODBC connection string attributes. For information about ODBC connection strings, see Using Connection String Keywords with SQL Native Client.

See Also

Other Resources