Options de connexion
Cette rubrique répertorie les options autorisées dans le tableau associatif (durant l’utilisation de sqlsrv_connect dans le pilote SQLSRV), ou les mots clés autorisés dans le nom de source de données (dsn) (durant l’utilisation de PDO::__construct dans le pilote PDO_SQLSRV).
Tableau des options de connexion
Clé | Valeur | Description | Default |
---|---|---|---|
AccessToken | Chaîne | Chaîne d’octets du jeton d’accès Microsoft Entra extrait d’une réponse JSON OAuth. La chaîne de connexion ne doit pas contenir un ID d’utilisateur, un mot de passe ou le mot clé Authentication . Pour plus d’informations, consultez Connexion à l’aide de l’authentification Microsoft Entra. |
Non défini. |
APP | String | Spécifie le nom de l’application utilisé dans le suivi. | Non défini. |
ApplicationIntent | String | Déclare le type de la charge de travail de l'application lors de la connexion à un serveur. Les valeurs possibles sont ReadOnly et ReadWrite. Pour plus d’informations sur Pilotes Microsoft pour PHP pour la prise en charge SQL Server pour les groupes de disponibilité Always On, consultez Prise en charge de la haute disponibilité et de la récupération d’urgence. |
Lecture/écriture |
AttachDBFileName | String | Spécifie le fichier de base de données que le serveur doit attacher. | Non défini. |
Authentification | Une des chaînes suivantes : SqlPassword ActiveDirectoryPassword ActiveDirectoryMsi ActiveDirectoryServicePrincipal |
Spécifie le mode d'authentification. Pour plus d’informations, consultez Connexion à l’aide de l’authentification Microsoft Entra. |
Non défini. |
CharacterSet (non pris en charge dans le pilote PDO_SQLSRV) |
String | Spécifie le jeu de caractères utilisé pour envoyer des données au serveur. Les valeurs possibles sont SQLSRV_ENC_CHAR et UTF-8. Pour plus d’informations, consultez Procédure : Envoyer et récupérer des données UTF-8 à l’aide de la prise en charge UTF-8 intégrée. |
SQLSRV_ENC_CHAR |
ColumnEncryption | Une des chaînes suivantes : Activé Désactivé Chaîne identifiant le protocole d’attestation et l’URL d’attestation de l’enclave |
Spécifie si la fonctionnalité Always Encrypted est activée ou non. Si un protocole d’attestation et une URL sont spécifiés, la fonctionnalité Always Encrypted avec enclaves sécurisées est activée, à condition que les autres conditions soient remplies, comme décrit ici. | Désactivé |
ConnectionPooling | 1 ou true pour activer le regroupement de connexions. 0 ou false pour désactiver le regroupement de connexions. |
Spécifie si la connexion est attribuée à partir d’un pool de connexions (1 ou true) ou non (0 ou false).1 | true (1) |
ConnectRetryCount | Entier compris entre 0 et 255 (inclus) | Nombre maximal de tentatives de rétablissement d’une connexion interrompue avant abandon. Par défaut, une seule tentative est effectuée pour rétablir une connexion interrompue. La valeur 0 signifie qu’aucune reconnexion n’est tentée. | 1 |
ConnectRetryInterval | Entier compris entre 1 et 60 (inclus) | Durée, en secondes, entre les tentatives de rétablissement d’une connexion. L’application tente de se reconnecter immédiatement en cas de détection d’une connexion interrompue, puis attend ConnectRetryInterval secondes avant de réessayer. Ce mot clé est ignoré si ConnectRetryCount est égal à 0. |
10 |
Base de données | String | Spécifie le nom de la base de données utilisé pour la connexion établie2. | Base de données par défaut pour la connexion utilisée. |
DecimalPlaces (non pris en charge dans le pilote PDO_SQLSRV) |
Entier compris entre 0 et 4 (inclus) | Spécifie le nombre de décimales pour le formatage des valeurs monétaires extraites. Cette option fonctionne uniquement quand FormatDecimals a la valeur true. Les entiers négatifs et les valeurs supérieures à 4 sont ignorés. |
Précision et échelle par défaut |
Pilote | String | Spécifie le pilote Microsoft ODBC utilisé pour communiquer avec SQL Server. Les valeurs possibles sont les suivantes : ODBC Driver 18 for SQL Server ODBC Driver 17 for SQL Server ODBC Driver 13 for SQL Server ODBC Driver 11 pour SQL Server (Windows uniquement). |
Lorsque le mot clé Driver n’est pas spécifié, les pilotes Microsoft SQL Server pour PHP tentent de trouver le ou les pilotes Microsoft ODBC pris en charge dans le système, en commençant par la dernière version d’ODBC, et ainsi de suite. |
Encrypt (Chiffrer) | 1 ou true pour activer le chiffrement. 0 or false pour désactiver le chiffrement. |
Spécifie si la communication avec SQL Server est chiffrée (1 ou true) ou non (0 ou false)3. | false (0) |
Failover_Partner | String | Spécifie le serveur et l’instance de mise en miroir de la base de données (si elle est activée et configurée) à utiliser quand le serveur principal n’est pas disponible. L’utilisation de Failover_Partner avec MultiSubnetFailover est soumise à des restrictions. Pour plus d’informations, consultez Prise en charge de la haute disponibilité et de la récupération d'urgence.Cette option n’est pas prise en charge sur Linux ou macOS, car la mise en miroir de bases de données n’est pas prise en charge par le pilote ODBC sur Linux ou macOS. Utilisez plutôt des groupes de disponibilité Always On et définissez les options MultiSubnetFailover et TransparentNetworkIPResolution . |
Non défini. |
FormatDecimals (non pris en charge dans le pilote PDO_SQLSRV) |
1 ou true pour mettre en forme les chaînes décimales récupérées. 0 ou false pour le comportement de mise en forme des décimales par défaut. |
Spécifie s’il faut ajouter des zéros au début des chaînes décimales si nécessaire et active l’option DecimalPlaces pour mettre en forme les types monétaires. Si vous conservez la valeur false, le comportement par défaut qui consiste à retourner la précision exacte et à omettre les zéros non significatifs pour les valeurs inférieures à 1 est utilisé.Pour plus d’informations, voir Mettre en forme des chaînes décimales et des valeurs monétaires. |
false (0) |
KeyStoreAuthentication | KeyVaultPassword KeyVaultClientSecret |
Méthode d'authentification pour accéder à Azure Key Vault. Contrôle le type d’informations d’identification utilisé avec KeyStorePrincipalId et KeyStoreSecret . Pour plus d’informations, consultez Utilisation d’Azure Key Vault. |
Non défini. |
KeyStorePrincipalId | String | Identificateur du compte qui cherche à accéder à Azure Key Vault. Si KeyStoreAuthentication correspond à KeyVaultPassword, cette valeur doit être un nom d’utilisateur Microsoft Entra. Si KeyStoreAuthentication est KeyVaultClientSecret, cette valeur doit être un ID client de l‘application. |
Non défini. |
KeyStoreSecret | String | Secret des informations d'identification du compte qui cherche à accéder à Azure Key Vault. Si KeyStoreAuthentication correspond à KeyVaultPassword, cette valeur doit être un mot de passe Microsoft Entra. Si KeyStoreAuthentication est KeyVaultClientSecret, cette valeur doit être un secret client de l‘application. |
Non défini. |
Langage | String | Spécifie la langue des messages retournés par le serveur. Les langues disponibles sont répertoriées dans le tableau sys.syslanguages . Cette option n’affecte pas la langue utilisée par les pilotes, car ils sont actuellement disponibles uniquement en anglais, et cela n’affecte pas la langue du pilote ODBC sous-jacent, dont la langue est déterminée par la version localisée installée sur le système client. Par conséquent, la modification de ce paramètre peut entraîner le renvoi de messages dans différentes langues, selon qu’ils proviennent du pilote PHP, du pilote ODBC ou de SQL Server. |
La valeur par défaut est la langue définie dans SQL Server. |
LoginTimeout | Entier (pilote SQLSRV) Chaîne (pilote PDO_SQLSRV) |
Spécifie le nombre de secondes qui doivent s’écouler avant l’échec de la tentative de connexion. | Aucun délai d’expiration. |
MultipleActiveResultSets | 1 ou true pour utiliser les jeux de résultats actifs multiples. 0 ou false pour désactiver les jeux de résultats actifs multiples. |
Désactive ou active explicitement la prise en charge de MARS (Multiple Active Result Sets). Pour plus d’informations, consultez Procédure : Désactiver Multiple Active Result Sets (MARS). |
true (1) |
MultiSubnetFailover | String | Spécifiez toujours multiSubnetFailover=yes lors de la connexion à l'écouteur de groupe de disponibilité d'un groupe de disponibilité SQL Server 2012 (11.x) ou d'une instance de cluster de basculement SQL Server 2012 (11.x). multiSubnetFailover=yes configure le Pilotes Microsoft SQL Server pour PHP pour accélérer la détection et la connexion au serveur (actuellement) actif. Les valeurs possibles sont yes et no.Pour plus d’informations sur Pilotes Microsoft pour PHP pour la prise en charge SQL Server pour les groupes de disponibilité Always On, consultez Prise en charge de la haute disponibilité et de la récupération d’urgence. |
Non |
PWD (non pris en charge dans le pilote PDO_SQLSRV) |
String | Spécifie le mot de passe associé à l’ID utilisateur à utiliser lors de la connexion avec l’authentification SQL Server4. | Non défini. |
QuotedId | 1 ou true pour utiliser les règles SQL-92. 0 ou false pour utiliser les règles héritées. |
Spécifie s’il faut utiliser les règles SQL-92 pour les identificateurs entre guillemets (1 ou true) ou utiliser les règles Transact-SQL héritées (0 ou false). | true (1) |
ReturnDatesAsStrings (non pris en charge dans le pilote PDO_SQLSRV) |
1 ou true pour retourner les types de date et d’heure sous forme de chaînes. 0 ou false pour retourner les types de date et d’heure comme types PHP DateTime . |
Récupère les types de date et d’heure (datetime, smalldatetime, date, time, datetime2 et datetimeoffset) sous forme de chaînes ou en tant que types PHP. Pour plus d’informations, consultez Procédure : Récupérer des types date et heure sous forme de chaînes à l’aide du pilote SQLSRV. Sauf indication contraire, les dates sont retournées sous forme de chaînes quand vous utilisez le pilote PDO_SQLSRV. Pour plus d’informations, consultez Procédure : Récupérer des types date et heure sous forme d’objets datetime PHP à l’aide du pilote PDO_SQLSRV. |
false |
Défilement | String | “buffered” indique que vous souhaitez un curseur côté client (mis en mémoire tampon), ce qui vous permet de mettre en cache un jeu de résultats entier en mémoire. Pour plus d’informations, consultez Types de curseur (pilote SQLSRV). | Curseur avant uniquement |
Serveur (non pris en charge dans le pilote SQLSRV) |
String | Instance de SQL Server avec laquelle la connexion sera établie. Vous pouvez également spécifier un nom de réseau virtuel pour vous connecter à un groupe de disponibilité Always On. Pour plus d’informations sur Pilotes Microsoft pour PHP pour la prise en charge SQL Server pour les groupes de disponibilité Always On, consultez Prise en charge de la haute disponibilité et de la récupération d’urgence. |
Server est un mot clé obligatoire (mais il ne doit pas obligatoirement être le premier mot clé dans la chaîne de connexion). Si aucun nom de serveur n’est passé au mot clé, une tentative de connexion à l’instance locale est effectuée. La valeur transmise à Server peut être le nom d’une instance SQL Server ou l’adresse IP de l’instance. Si vous le souhaitez, vous pouvez spécifier un numéro de port (par exemple, sqlsrv:server=(local),1033 ).À compter de la version 3.0 du Pilotes Microsoft SQL Server pour PHP , vous pouvez aussi spécifier une instance de base de données locale avec server=(localdb)\instancename . Pour plus d’informations, consultez Prise en charge de LocalDB. |
TraceFile | String | Spécifie le chemin du fichier utilisé pour les données de trace. | Non défini. |
TraceOn | 1 ou true pour activer le traçage. 0 ou false pour désactiver le traçage. |
Spécifie si le traçage ODBC est activé (1 ou true) ou désactivé (0 or false) pour la connexion établie. | false (0) |
TransactionIsolation | Le pilote SQLSRV utilise les valeurs suivantes : SQLSRV_TXN_READ_UNCOMMITTED SQLSRV_TXN_READ_COMMITTED SQLSRV_TXN_REPEATABLE_READ SQLSRV_TXN_SNAPSHOT SQLSRV_TXN_SERIALIZABLE Le pilote PDO_SQLSRV utilise les valeurs suivantes : PDO::SQLSRV_TXN_READ_UNCOMMITTED PDO::SQLSRV_TXN_READ_COMMITTED PDO::SQLSRV_TXN_REPEATABLE_READ PDO::SQLSRV_TXN_SNAPSHOT PDO::SQLSRV_TXN_SERIALIZABLE |
Spécifie le niveau d’isolation de la transaction. Pour plus d’informations sur l’isolation des transactions, consultez SET TRANSACTION ISOLATION LEVEL dans la documentation SQL Server. |
SQLSRV_TXN_READ_COMMITTED or PDO::SQLSRV_TXN_READ_COMMITTED |
TransparentNetworkIPResolution | Activé ou Désactivé | Affecte la séquence de connexion lorsque la première adresse IP résolue du nom d’hôte ne répond pas et qu’il existe plusieurs adresses IP associées au nom d’hôte. Interagit avec MultiSubnetFailover pour fournir différentes séquences de connexion. Pour plus d’informations, voir Résolution transparente d’adresses IP réseau. ou Utilisation de la résolution d’adresses IP réseau transparente. |
activé |
TrustServerCertificate | 1 ou true pour approuver le certificat. 0 ou false pour ne pas approuver le certificat. |
Spécifie si le client doit approuver (1 ou true) ou rejeter (0 ou false) un certificat de serveur auto-signé. | false (0) |
Identificateur d’utilisateur (non pris en charge dans le pilote PDO_SQLSRV) |
String | Spécifie l’ID utilisateur à utiliser lors de la connexion avec l’authentification SQL Server4. | Non défini. |
WSID | String | Spécifie le nom de l’ordinateur pour le traçage. | Non défini. |
L’attribut
ConnectionPooling
ne peut pas être utilisé pour activer/désactiver le regroupement de connexions sur Linux et macOS. Consultez Regroupement de connexions (Microsoft Drivers for PHP for SQL Server).Toutes les requêtes exécutées via la connexion établie sont envoyées à la base de données spécifiée par l’attribut
Database
. Toutefois, si l’utilisateur dispose des autorisations appropriées, il peut accéder aux données des autres bases de données à l’aide d’un nom qualifié complet. Par exemple, si la base de données master est définie avec l’attribut de connexionDatabase
, il est toujours possible d’exécuter une requête Transact-SQL qui accède à la table AdventureWorks.HumanResources.Employee en utilisant le nom qualifié complet.L’activation de
Encryption
peut avoir un impact sur les performances de certaines applications, en raison de la charge de traitement nécessaire pour chiffrer les données.Les attributs
UID
etPWD
doivent tous deux être définis lors de la connexion avec l’authentification SQL Server.
Une grande partie des clés prises en charge sont des attributs de chaîne de connexion ODBC. Pour plus d’informations sur les chaînes de connexion ODBC, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.