Verbindungsoptionen

PHP-Treiber herunterladen

In diesem Thema werden die Optionen aufgelistet, die im assoziativen Array zulässig sind (bei Verwendung von sqlsrv_connect im SQLSRV-Treiber), oder die Schlüsselwörter, die im Datenquellennamen DSN zulässig sind (bei Verwendung von PDO::__construct im PDO_SQLSRV-Treiber).

Tabelle mit Verbindungsoptionen

Schlüssel Wert Beschreibung Standard
AccessToken String Die Bytezeichenfolge eines aus einer OAuth-JSON-Antwort extrahierten Microsoft Entra-Zugriffstokens.

Die Verbindungszeichenfolge darf weder eine Benutzer-ID noch ein Kennwort oder Authentication-Schlüsselwort enthalten. Weitere Informationen finden Sie unter Herstellen einer Verbindung mithilfe der Microsoft Entra-Authentifizierung
Nicht festgelegt.
APP String Gibt den Namen der Anwendung an, der in der Ablaufverfolgung verwendet wird. Nicht festgelegt.
ApplicationIntent String Deklariert den Arbeitsauslastungstyp der Anwendung beim Herstellen einer Verbindung mit einem Server. Mögliche Werte sind ReadOnly und ReadWrite.

Weitere Informationen zur Unterstützung von Microsoft-Treibern für PHP für SQL Server für Always On-Verfügbarkeitsgruppen finden Sie unter Unterstützung für hohe Verfügbarkeit und Notfallwiederherstellung.
ReadWrite
AttachDBFileName String Gibt an, welche Datenbankdatei der Server anfügen soll. Nicht festgelegt.
Authentifizierung Eine der folgenden Zeichenfolgen:

SqlPassword

ActiveDirectoryPassword

ActiveDirectoryMsi

ActiveDirectoryServicePrincipal
Gibt den Authentifizierungsmodus an.

Weitere Informationen finden Sie unter Herstellen einer Verbindung mithilfe der Microsoft Entra-Authentifizierung
Nicht festgelegt.
CharacterSet

(vom PDO_SQLSRV-Treiber nicht unterstützt)
String Gibt den Zeichensatz an, mit dem Daten an den Server gesendet werden.

Mögliche Werte sind SQLSRV_ENC_CHAR und UTF-8. Weitere Informationen finden Sie unter Vorgehensweise: Senden und Abrufen von UTF-8-Daten mithilfe der integrierten UTF-8-Unterstützung.
SQLSRV_ENC_CHAR
ColumnEncryption Eine der folgenden Zeichenfolgen:

Aktiviert

Disabled

Eine Zeichenfolge, die das Nachweisprotokoll und die URL zum Nachweis der Enclave identifiziert
Gibt an, ob das Always Encrypted-Feature aktiviert ist. Wenn ein Nachweisprotokoll und eine URL angegeben werden, wird Always Encrypted mit Secure Enclaves aktiviert, sofern die anderen Anforderungen wie hier beschrieben erfüllt sind. Disabled
ConnectionPooling 1 oder true , um Verbindungspooling zu aktivieren.

0 oder false , um Verbindungspooling zu deaktivieren.
Gibt an, ob die Verbindung aus einem Verbindungspool zugewiesen wird (1 oder TRUE) oder nicht (0 oder FALSE).1 TRUE (1)
ConnectRetryCount Ganze Zahl von 0 bis 255 Die maximale Anzahl von Versuchen zum Wiederherstellen einer unterbrochenen Verbindung, bevor aufgegeben wird. Standardmäßig wird nur ein Versuch unternommen, eine Verbindung nach einer Unterbrechung wiederherzustellen. Der Wert 0 bedeutet, dass kein Wiederherstellungsversuch unternommen wird. 1
ConnectRetryInterval Ganze Zahl von 1 bis 60 Die Zeit in Sekunden zwischen den Versuchen zum Wiederherstellen einer Verbindung. Die Anwendung versucht sofort nach dem Erkennen einer unterbrochenen Verbindung, diese wiederherzustellen, und wartet dann die mit ConnectRetryInterval angegebene Anzahl von Sekunden, bevor sie es erneut versucht. Dieses Schlüsselwort wird ignoriert, wenn ConnectRetryCount gleich 0 ist. 10
Datenbank String Gibt den Namen der Datenbank an, mit der die Verbindung aufgebaut werden soll2. Die Standarddatenbank, die für die Anmeldung verwendet wird.
Dezimalstellenanzeige

(vom PDO_SQLSRV-Treiber nicht unterstützt)
Ganze Zahl zwischen 0 und (einschließlich) 4 Gibt die Dezimalstellen beim Formatieren abgerufener Geldwerte (Werte des Datentyps „money“) an.

Diese Option funktioniert nur, wenn FormatDecimals auf „true“ festgelegt ist. Negative ganze Zahlen oder Werte größer als 4 werden ignoriert.
Standardgenauigkeit und -skalierung
Treiber String Gibt den Microsoft ODBC-Treiber an, der für die Kommunikation mit SQL Server verwendet wird.

Mögliche Werte:
ODBC Driver 18 for SQL Server
ODBC Driver 17 for SQL Server
ODBC Driver 13 for SQL Server
ODBC Driver 11 for SQL Server (nur Windows).
Wenn das DRIVER-Schlüsselwort nicht angegeben ist, versuchen die Microsoft-Treiber für PHP für SQL Server, unterstützte Microsoft ODBC-Treiber im System zu finden, beginnend mit der neuesten Version von ODBC usw.
Verschlüsseln 1 oder true , um Verschlüsselung zu aktivieren.

0 oder false , um Verschlüsselung zu deaktivieren.
Gibt an, ob die Kommunikation mit SQL Server verschlüsselt (1 oder TRUE) oder unverschlüsselt (0 oder FALSE)3 ist. FALSE (0)
Failover_Partner String Gibt den Server und die Instanz der Spiegelung der Datenbank an (sofern aktiviert und konfiguriert), die verwendet werden soll, wenn der primäre Server nicht verfügbar ist.

Es gibt Einschränkungen für die Verwendung von Failover_Partner mit MultiSubnetFailover. Weitere Informationen finden Sie unter Unterstützung für hohe Verfügbarkeit, Notfallwiederherstellung.

Diese Option wird unter Linux oder macOS nicht unterstützt, da die Datenbankspiegelung vom ODBC-Treiber unter Linux oder macOS nicht unterstützt wird. Verwenden Sie stattdessen Always On-Verfügbarkeitsgruppen, und legen Sie die Optionen MultiSubnetFailover und TransparentNetworkIPResolution fest.
Nicht festgelegt.
FormatDecimals

(vom PDO_SQLSRV-Treiber nicht unterstützt)
1 oder true zum Formatieren abgerufener Dezimalzeichenfolgen.

0 oder false für das standardmäßige Dezimalformatierungsverhalten.
Gibt an, ob Dezimalzeichenfolgen gegebenenfalls führende Nullen hinzugefügt werden sollen, und aktiviert die Option DecimalPlaces zum Formatieren von Datentypen der Kategorie „money“. Bei FALSE wird als Standardverhalten die Rückgabe absoluter Genauigkeit und das Auslassen führender Nullen für Werte kleiner 1 verwendet.

Weitere Informationen finden Sie unter Formatieren von Dezimalzeichenfolgen und Geldwerten.
FALSE (0)
KeyStoreAuthentication KeyVaultPassword

KeyVaultClientSecret
Authentifizierungsmethode für den Zugriff auf Azure Key Vault. Steuert, welche Art von Anmeldeinformationen mit KeyStorePrincipalId und KeyStoreSecret verwendet wird. Weitere Informationen finden Sie unter Verwenden von Azure Key Vault. Nicht festgelegt.
KeyStorePrincipalId String Der Bezeichner für das Konto, das auf Azure Key Vault zugreifen möchte.

Wenn KeyStoreAuthenticationKeyVaultPassword ist, muss dieser Wert ein Microsoft Entra-Benutzername sein.

Wenn KeyStoreAuthenticationKeyVaultClientSecret ist, muss dieser Wert eine Anwendungsclient-ID sein.
Nicht festgelegt.
KeyStoreSecret String Das Anmeldeinformationengeheimnis für das Konto, das auf Azure Key Vault zugreifen möchte.

Wenn KeyStoreAuthenticationKeyVaultPassword ist, muss dieser Wert ein Microsoft Entra-Kennwort sein.

Wenn KeyStoreAuthenticationKeyVaultClientSecret ist, muss es sich bei diesem Wert um ein Anwendungsclientgeheimnis handeln.
Nicht festgelegt.
Sprache String Gibt die Sprache der Nachrichten an, die vom Server zurückgegeben werden. Die verfügbaren Sprachen werden in der sys.syslanguages-Tabelle aufgeführt.

Diese Option wirkt sich nicht auf die Sprache aus, die von den Treibern selbst verwendet wird, da sie zurzeit nur in englischer Sprache verfügbar sind, und sie wirkt sich nicht auf die Sprache des zugrunde liegenden ODBC-Treibers aus, dessen Sprache durch die auf dem Clientsystem installierte lokalisierte Version bestimmt wird. Daher kann das Ändern dieser Einstellung dazu führen, dass Nachrichten in verschiedenen Sprachen zurückgegeben werden, abhängig davon, ob sie vom PHP-Treiber, vom ODBC-Treiber oder SQL Server stammen.
Der Standard ist die in SQL Server festgelegte Sprache.
LoginTimeout Integer (SQLSRV-Treiber)

Zeichenfolge (PDO_SQLSRV-Treiber)
Legt die Wartezeit in Sekunden fest, bevor der Verbindungsversuch fehlschlägt. Kein Timeout.
MultipleActiveResultSets 1 oder true zum Verwenden von mehreren aktiven Resultsets.

0 oder false zum Deaktivieren von mehreren aktiven Resultsets.
Deaktiviert oder aktiviert explizit die Unterstützung für mehrere aktive Resultsets (MARS).

Weitere Informationen finden Sie unter Vorgehensweise: Deaktivieren von mehreren aktiven Resultsets (MARS).
true (1)
MultiSubnetFailover String Geben Sie immer multiSubnetFailover=yes an, wenn Sie eine Verbindung mit dem SQL Server 2012 (11.x) Verfügbarkeitsgruppenlistener oder einem SQL Server 2012 (11.x) Failovercluster-Verfügbarkeitsgruppenlistener herstellen. multiSubnetFailover=yes konfiguriert Microsoft-Treiber für PHP für SQL Server, um eine schnellere Erkennung sowie die Verbindung mit dem (derzeit) aktiven Server zu gewährleisten. Mögliche Werte sind Yes und No.

Weitere Informationen zur Unterstützung von Microsoft-Treibern für PHP für SQL Server für Always On-Verfügbarkeitsgruppen finden Sie unter Unterstützung für hohe Verfügbarkeit und Notfallwiederherstellung.
Nein
PWD

(vom PDO_SQLSRV-Treiber nicht unterstützt)
String Gibt das Kennwort für die Benutzer-ID an, die bei der Verbindung mit SQL Server-Authentifizierung4 verwendet wird. Nicht festgelegt.
QuotedId 1 oder TRUE, um SQL-92-Regeln zu verwenden.

0 oder false , um Legacy-Regeln zu verwenden.
Gibt an, ob SQL-92-Regeln für Bezeichner in Anführungszeichen (1 oder TRUE) oder ältere Transact-SQL-Regeln (0 oder FALSE) verwendet werden sollen. TRUE (1)
ReturnDatesAsStrings

(vom PDO_SQLSRV-Treiber nicht unterstützt)
1 oder true , um Datums- und Uhrzeittypen als Zeichenfolgen zurückzugeben.

0 oder false um Datums- und Uhrzeittypen als PHP DateTime - Typen zurückzugeben.
Ruft Datums- und Uhrzeittypen (datetime, smalldatetime, date, time, datetime2 und datetimeoffset) als Zeichenfolgen oder als PHP-Typen ab. Weitere Informationen finden Sie unter Vorgehensweise: Abrufen von Datums- und Uhrzeittypen als Zeichenfolgen mit dem SQLSRV-Treiber.

Wenn Sie den PDO_SQLSRV-Treiber verwenden, werden Datumsangaben als Zeichenfolgen zurückgegeben, sofern nicht anders festgelegt. Weitere Informationen finden Sie unter Vorgehensweise: Abrufen von Datums- und Uhrzeittypen als PHP-datetime-Objekte mit dem PDO_SQLSRV-Treiber.
false
Bildlauffähigkeit String „gepuffert“ bedeutet, dass Sie einen clientseitigen (gepufferten) Cursor möchten, mit dem Sie ein komplettes Resultset im Arbeitsspeicher zwischenspeichern können. Weitere Informationen finden Sie unter Cursortypen (SQLSRV-Treiber). Vorwärtscursor
Server

(vom SQLSRV-Treiber nicht unterstützt)
String Die SQL Server-Instanz, mit der eine Verbindung hergestellt werden soll.

Sie können auch einen virtuellen Netzwerknamen angeben, um eine Verbindung mit einer Always-On-Verfügbarkeitsgruppe herzustellen. Weitere Informationen zur Unterstützung von Microsoft-Treibern für PHP für SQL Server für Always On-Verfügbarkeitsgruppen finden Sie unter Unterstützung für hohe Verfügbarkeit und Notfallwiederherstellung.
„Server“ ist ein erforderliches Schlüsselwort (wobei es nicht das erste Schlüsselwort in der Verbindungszeichenfolge sein muss). Wenn kein Servername an das Schlüsselwort übergeben wird, wird versucht, eine Verbindung mit der lokalen Instanz herzustellen.

Der an „Server“ übergebene Wert kann der Name einer SQL Server-Instanz oder die IP-Adresse der Instanz sein. Sie können optional eine Portnummer angeben (z.B. sqlsrv:server=(local),1033).

Ab Version 3.0 der Microsoft-Treiber für PHP für SQL Server können Sie auch eine LocalDB-Instanz mit server=(localdb)\instancenameangeben. Weitere Informationen finden Sie unter Unterstützung für LocalDB.
TraceFile String Gibt den Pfad für die Datei an, die für Ablaufverfolgungsdaten verwendet wird. Nicht festgelegt.
TraceOn 1 oder true zum Aktivieren der Ablaufverfolgung.

0 oder false zum Deaktivieren der Ablaufverfolgung.
Gibt an, ob für die herzustellende Verbindung die ODBC-Protokollierung aktiviert (1 oder TRUE oder deaktiviert 0 oder FALSE) ist. FALSE (0)
TransactionIsolation Der SQLSRV-Treiber verwendet die folgenden Werte:

SQLSRV_TXN_READ_UNCOMMITTED

SQLSRV_TXN_READ_COMMITTED

SQLSRV_TXN_REPEATABLE_READ

SQLSRV_TXN_SNAPSHOT

SQLSRV_TXN_SERIALIZABLE

Der PDO_SQLSRV-Treiber verwendet die folgenden Werte:

PDO::SQLSRV_TXN_READ_UNCOMMITTED

PDO::SQLSRV_TXN_READ_COMMITTED

PDO::SQLSRV_TXN_REPEATABLE_READ

PDO::SQLSRV_TXN_SNAPSHOT

PDO::SQLSRV_TXN_SERIALIZABLE
Bestimmt die Isolationsstufe für die Transaktionen.

Weitere Informationen zur Transaktionsisolation finden Sie unter SET TRANSACTION ISOLATION LEVEL in der SQL Server-Dokumentation.
SQLSRV_TXN_READ_COMMITTED

oder

PDO::SQLSRV_TXN_READ_COMMITTED
TransparentNetworkIPResolution Aktiviert oder Deaktiviert Sie wirkt sich auf die Verbindungssequenz aus, wenn die erste aufgelöste IP-Adresse des Hostnamens nicht reagiert und dem Hostnamen mehrere IP-Adressen zugeordnet sind.

Sie interagiert mit MultiSubnetFailover, um unterschiedliche Verbindungssequenzen bereitzustellen. Weitere Informationen finden Sie unter Transparente Netzwerk-IP-Adressauflösung oder Verwenden der transparenten Netzwerk-IP-Adressauflösung.
Aktiviert
TrustServerCertificate 1 oder true , um dem Zertifikat zu vertrauen.

0 oder false , um dem Zertifikat nicht zu vertrauen.
Gibt an, ob der Client einem selbstsignierten Serverzertifikat vertrauen (1 oder TRUE) oder es ablehnen soll (0 oder FALSE). FALSE (0)
UID

(vom PDO_SQLSRV-Treiber nicht unterstützt)
String Gibt die Benutzer-ID an, die bei der Verbindung mit SQL Server-Authentifizierung4 verwendet wird. Nicht festgelegt.
WSID String Gibt den Namen des Computers für die Ablaufverfolgung an. Nicht festgelegt.
  1. Das ConnectionPooling-Attribut kann nicht verwendet werden, um das Verbindungspooling in Linux und macOS zu aktivieren/deaktivieren. Weitere Informationen finden Sie unter Verbindungspooling (Microsoft-Treiber für PHP für SQL Server).

  2. Alle für die hergestellte Verbindung ausgeführten Abfragen werden auf der Datenbank ausgeführt, die durch das Attribut Database festgelegt ist. Allerdings kann auf Daten in anderen Datenbanken zugegriffen werden, indem ein vollqualifizierter Name verwendet wird, wenn der Benutzer über die entsprechenden Berechtigungen verfügt. Wenn beispielsweise die master-Datenbank mit dem Database-Verbindungsattribut festgelegt wird, ist es weiterhin möglich, eine Transact-SQL-Abfrage auszuführen, die mit dem vollqualifizierten Namen auf die Tabelle AdventureWorks.HumanResources.Employee zugreift.

  3. Aktivieren von Encryption kann die Leistung einiger Anwendungen aufgrund des aufwändigen Berechnungsprozesses, der erforderlich ist, um Daten zu verschlüsseln, beeinträchtigen.

  4. Bei Verbindung mit SQL Server-Authentifizierung muss sowohl das UID- als auch das PWD-Attribut festgelegt sein.

Viele der unterstützten Schlüssel sind ODBC-Verbindungszeichenfolgen-Attribute. Informationen zu ODBC-Verbindungszeichenfolgen finden Sie unter Using Connection String Keywords with SQL Native Client (Verwenden von Schlüsselwörter für Verbindungszeichenfolgen mit SQL Native Client).

Weitere Informationen

Verbinden mit dem Server