Opzioni di connessione
Questo argomento elenca le opzioni consentite nella matrice associativa (quando si usa sqlsrv_connect nel driver SQLSRV) o le parole chiave consentite nel nome dell'origine dati (dns) (quando si usa PDO::__construct nel driver PDO_SQLSRV).
Tabella delle opzioni di connessione
Chiave | valore | Descrizione | Default |
---|---|---|---|
AccessToken | String | La stringa di byte del token di accesso di Microsoft Entra estratto da una risposta JSON OAuth. La stringa di connessione non deve contenere un ID utente, una password o la parola chiave Authentication . Per altre informazioni, vedere la sezione Connettersi utilizzando l'autenticazione di Microsoft Entra |
Non impostato. |
APP | String | Specifica il nome dell'applicazione usato nella traccia. | Non impostato. |
ApplicationIntent | String | Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono ReadOnly e ReadWrite. Per altre informazioni sul supporto dei driver Microsoft per PHP per SQL Server per i gruppi di disponibilità Always On, vedere Supporto per disponibilità elevata, ripristino di emergenza. |
ReadWrite |
AttachDBFileName | String | Specifica il file di database a cui associare il server. | Non impostato. |
Autenticazione | Una delle stringhe seguenti: SqlPassword ActiveDirectoryPassword ActiveDirectoryMsi ActiveDirectoryServicePrincipal |
Specifica la modalità di autenticazione. Per altre informazioni, vedere la sezione Connettersi utilizzando l'autenticazione di Microsoft Entra |
Non impostato. |
CharacterSet (non supportato nel driver PDO_SQLSRV) |
String | Specifica il set di caratteri usato per l'invio di dati al server. I valori possibili sono SQLSRV_ENC_CHAR e UTF-8. Per altre informazioni, vedere How to: Send and Retrieve UTF-8 Data Using Built-In UTF-8 Support. |
SQLSRV_ENC_CHAR |
ColumnEncryption | Una delle stringhe seguenti: Abilitato Disabilitato Stringa che identifica il protocollo di attestazione e l'URL per l'attestazione dell'enclave |
Specifica se la funzionalità Always Encrypted è abilitata o meno. Se vengono specificati un URL e un protocollo di attestazione, Always Encrypted con enclave sicuri è abilitato, purché siano soddisfatti gli altri requisiti, come descritto qui. | Disabilitata |
ConnectionPooling | 1 o true per il pool di connessioni attivato. 0 o false per il pool di connessioni disattivato. |
Specifica se la connessione viene assegnata da un pool di connessioni (1 o true) o no (0 o false).1 | true (1) |
ConnectRetryCount | Numero intero compreso tra 0 e 255 inclusi | Numero massimo di tentativi di ristabilire una connessione interrotta prima di rinunciare. Per impostazione predefinita, viene fatto un solo tentativo di ristabilire una connessione interrotta. Il valore 0 indica che non verrà tentata alcuna riconnessione. | 1 |
ConnectRetryInterval | Numero intero compreso tra 1 e 60 inclusi | Tempo, in secondi, tra i tentativi di ristabilire una connessione. L'applicazione tenterà di riconnettersi immediatamente dopo aver rilevato una connessione interrotta e attenderà ConnectRetryInterval secondi prima di riprovare. Questa parola chiave viene ignorata se ConnectRetryCount è uguale a 0. |
10 |
Database | String | Specifica il nome del database in uso per la connessione in corso di creazione2. | Il database predefinito per l'accesso in uso. |
DecimalPlaces (non supportato nel driver PDO_SQLSRV) |
Numero intero compreso tra 0 e 4 inclusi | Specifica i numeri decimali quando si formattano valori money recuperati. Questa opzione funziona solo quando FormatDecimals è true. Qualsiasi numero intero negativo o valore maggiore di 4 verrà ignorato. |
Precisione e scala predefinite |
Driver | String | Specifica il driver Microsoft ODBC usato per comunicare con SQL Server. I valori possibili sono: ODBC Driver 18 for SQL Server Driver ODBC 17 per SQL Server ODBC Driver 13 for SQL Server ODBC Driver 11 for SQL Server (solo Windows). |
Se non viene specificata la parola chiave Driver, i driver Microsoft per PHP per SQL Server tentano di trovare i driver Microsoft ODBC supportati nel sistema, a partire dalla versione più recente di ODBC. |
Encrypt | 1 o true per la crittografia attivata. 0 o false per la crittografia disattivata. |
Specifica se la comunicazione con SQL Server è crittografata (1 o true) o non crittografata (0 o false)3. | false (0) |
Failover_Partner | String | Specifica il server e l'istanza di mirroring del database (se abilitato e configurato) da usare quando il server primario non è disponibile. Esistono delle restrizioni per l'uso di Failover_Partner con MultiSubnetFailover . Per altre informazioni, vedere Supporto per disponibilità elevata e ripristino di emergenza.Questa opzione non è supportata in Linux o macOS perché il mirroring del database non è supportato dal driver ODBC in Linux o macOS. Usare invece i gruppi di disponibilità Always On e impostare le opzioni MultiSubnetFailover e TransparentNetworkIPResolution . |
Non impostato. |
FormatDecimals (non supportato nel driver PDO_SQLSRV) |
1 o true per formattare le stringhe decimali recuperate. 0 o false per il comportamento predefinito della formattazione decimale. |
Specifica se aggiungere zeri iniziali nelle stringhe decimali quando appropriato e abilita l'opzione DecimalPlaces per la formattazione dei tipi money. Se false, viene usato il comportamento predefinito di restituire la precisione esatta e di omettere gli zeri iniziali per valori inferiori a 1.Per altre informazioni, vedere Formattazione di stringhe decimali e valori money. |
false (0) |
KeyStoreAuthentication | KeyVaultPassword KeyVaultClientSecret |
Metodo di autenticazione per l'accesso ad Azure Key Vault. Stabilisce quale tipo di credenziali deve essere usato con KeyStorePrincipalId e KeyStoreSecret . Per altre informazioni, vedere Uso di Azure Key Vault. |
Non impostato. |
KeyStorePrincipalId | String | Identificatore per l'account che cerca di accedere ad Azure Key Vault. Se KeyStoreAuthentication è KeyVaultPassword, questo valore deve essere un nome utente di Microsoft Entra. Se KeyStoreAuthentication è KeyVaultClientSecret, questo valore deve essere un ID client dell'applicazione. |
Non impostato. |
KeyStoreSecret | String | Segreto delle credenziali per l'account che cerca di accedere ad Azure Key Vault. Se KeyStoreAuthentication è KeyVaultPassword, questo valore deve essere una password di Microsoft Entra. Se KeyStoreAuthentication è KeyVaultClientSecret, questo valore deve essere un segreto client dell'applicazione. |
Non impostato. |
Lingua | String | Specifica la lingua dei messaggi restituiti dal server. Le lingue disponibili sono elencate nella tabella sys.syslanguages . Questa opzione non influisce sulla lingua usata dagli stessi driver, che attualmente sono disponibili solo in inglese, né sulla lingua del driver ODBC sottostante, la cui lingua è determinata dalla versione localizzata installata nel sistema client. Pertanto, la modifica di questa impostazione può comportare la restituzione dei messaggi in lingue diverse, a seconda se provengono dal driver PHP, dal driver ODBC o da SQL Server. |
Il valore predefinito è la lingua impostata in SQL Server. |
LoginTimeout | Integer (driver SQLSRV) String (driver PDO_SQLSRV) |
Specifica il numero di secondi trascorsi i quali il tentativo di connessione ha esito negativo. | Nessun timeout. |
MultipleActiveResultSets | 1 o true per usare più set di risultati attivi. 0 o false per disabilitare più set di risultati attivi. |
Disabilita o abilita in modo esplicito il supporto per più set di risultati attivi (MARS). Per altre informazioni, vedere Procedura: Disabilitare più set di risultati attivi (MARS). |
true (1) |
MultiSubnetFailover | String | Specificare sempre multiSubnetFailover=yes in caso di connessione al listener di un gruppo di disponibilità di SQL Server 2012 (11.x) o a un'istanza del cluster di failover di SQL Server 2012 (11.x). multiSubnetFailover=yes configura i driver Microsoft per PHP per SQL Server per fornire un rilevamento e una connessione più veloci al server (attualmente) attivo. I valori possibili sono Sì e No.Per altre informazioni sul supporto dei driver Microsoft per PHP per SQL Server per i gruppi di disponibilità Always On, vedere Supporto per disponibilità elevata, ripristino di emergenza. |
No |
PWD (non supportato nel driver PDO_SQLSRV) |
String | Specifica la password associata all'ID utente da usare durante la connessione con l'autenticazione di SQL Server4. | Non impostato. |
QuotedId | 1 o true per usare le regole SQL-92. 0 o false per usare le regole precedenti. |
Specifica se usare le regole SQL-92 per gli identificatori delimitati (1 o true) o le regole Transact-SQL legacy (0 o false). | true (1) |
ReturnDatesAsStrings (non supportato nel driver PDO_SQLSRV) |
1 o true per restituire i tipi di data e ora come stringhe. 0 o false per restituire i tipi di data e ora come tipi DateTime PHP. |
Recupera i tipi di data e ora (datetime, smalldatetime, date, time, datetime2 e datetimeoffset) come stringhe o come tipi PHP. Per altre informazioni, vedere Procedura: Recuperare i tipi di data e ora come stringhe usando il driver SQLSRV. Quando si usa il driver PDO_SQLSRV, le date vengono restituite come stringhe se non diversamente specificato. Per altre informazioni, vedere Procedura: Recuperare i tipi di data e ora come oggetti DateTime PHP usando il driver PDO_SQLSRV. |
false |
Scorrimento | String | "buffered" indica che si desidera un cursore sul lato client (memorizzato nel buffer) che consente di memorizzare nella cache un intero set di risultati. Per altre informazioni, vedere Tipi di cursore (driver SQLSRV). | Cursore forward-only |
Server (non supportato nel driver SQLSRV) |
String | L'istanza di SQL Server a cui connettersi. È inoltre possibile specificare un nome di rete virtuale per connettersi a un gruppo di disponibilità Always On. Per altre informazioni sul supporto dei driver Microsoft per PHP per SQL Server per i gruppi di disponibilità Always On, vedere Supporto per disponibilità elevata, ripristino di emergenza. |
Server è una parola chiave obbligatoria (anche se non deve essere la prima parola chiave della stringa di connessione). Se un nome server non viene passato alla parola chiave, viene effettuato un tentativo di connessione all'istanza locale. Il valore passato a Server può essere il nome di un'istanza di SQL Server o l'indirizzo IP dell'istanza. Facoltativamente, è possibile specificare un numero di porta, ad esempio sqlsrv:server=(local),1033 .A partire dalla versione 3.0 dei driver Microsoft per PHP per SQL Server è anche possibile specificare un'istanza di Local DB con server=(localdb)\instancename . Per altre informazioni, vedere Supporto per LocalDB. |
TraceFile | String | Specifica il percorso del file usato per i dati di traccia. | Non impostato. |
TraceOn | 1 o true per abilitare la traccia. 0 o false per disabilitare la traccia. |
Specifica se la traccia ODBC è abilitata (1 o true) o disabilitata (0 o false) per la connessione in corso di creazione. | false (0) |
TransactionIsolation | Il driver SQLSRV usa i valori seguenti: SQLSRV_TXN_READ_UNCOMMITTED SQLSRV_TXN_READ_COMMITTED SQLSRV_TXN_REPEATABLE_READ SQLSRV_TXN_SNAPSHOT SQLSRV_TXN_SERIALIZABLE Il driver PDO_SQLSRV usa i valori seguenti: PDO::SQLSRV_TXN_READ_UNCOMMITTED PDO::SQLSRV_TXN_READ_COMMITTED PDO::SQLSRV_TXN_REPEATABLE_READ PDO::SQLSRV_TXN_SNAPSHOT PDO::SQLSRV_TXN_SERIALIZABLE |
Specifica il livello di isolamento delle transazioni. Per altre informazioni sull'isolamento delle transazioni, vedere SET TRANSACTION ISOLATION LEVEL nella documentazione di SQL Server. |
SQLSRV_TXN_READ_COMMITTED or PDO::SQLSRV_TXN_READ_COMMITTED |
TransparentNetworkIPResolution | Enabled o Disabled | Influisce sulla sequenza di connessione quando il primo IP risolto del nome host non risponde e sono presenti più IP associati al nome host. Interagisce con MultiSubnetFailover per offrire diverse sequenze di connessione. Per altre informazioni, vedere Risoluzione dell'IP di rete trasparente o Uso della risoluzione dell'IP di rete trasparente. |
Attivata |
TrustServerCertificate | 1 o true per considerare il certificato attendibile. 0 o false per non considerare il certificato attendibile. |
Specifica se il client deve considerare attendibile (1 o true) o rifiutare (0 o false) un certificato server autofirmato. | false (0) |
UID (non supportato nel driver PDO_SQLSRV) |
String | Specifica l'ID utente da usare durante la connessione con l'autenticazione di SQL Server4. | Non impostato. |
WSID | String | Specifica il nome del computer per la traccia. | Non impostato. |
Non è possibile usare l'attributo
ConnectionPooling
per abilitare o disabilitare il pool di connessioni in Linux e macOS. Vedere Pool di connessioni (driver Microsoft per PHP per SQL Server).Tutte le query eseguite durante la connessione stabilita vengono eseguite nel database specificato dall'attributo
Database
. Se l'utente dispone delle autorizzazioni necessarie, tuttavia, è possibile accedere ai dati di altri database usando un nome completo. Se ad esempio il database master è impostato con l'attributo di connessioneDatabase
, è comunque possibile eseguire una query Transact-SQL che acceda alla tabella AdventureWorks.HumanResources.Employee usando il nome completo.L'abilitazione di
Encryption
può compromettere le prestazioni di alcune applicazioni a causa dell'overhead computazionale necessario per la crittografia dei dati.Gli attributi
UID
ePWD
devono essere entrambi impostati durante la connessione con l'autenticazione di SQL Server.
Molte delle chiavi supportate sono attributi della stringa di connessione ODBC. Per informazioni sulle stringhe di connessione ODBC, vedere Uso delle parole chiave delle stringhe di connessione con SQL Server Native Client.