Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce un riferimento completo per tutti i parametri di connessione accettati dal go-mssqldb driver. Per la sintassi del formato stringa di connessione, vedi Connection strings.
Parametri comuni
| Parametro | Aliases | Predefinito | Descrizione |
|---|---|---|---|
user id |
user |
- | Nome di accesso SQL Server. |
password |
- | - | Password per l'accesso SQL Server. |
database |
- | - | Database bersaglio. |
connection timeout |
- | 0 |
Timeout per accedere in pochi secondi.
0 aspetta indefinitamente. Preferisci i contesti Go per timeout di connessione e query. |
dial timeout |
- | 15 x protocol count |
Timeout della chiamata di rete in pochi secondi.
0 aspetta indefinitamente. Il driver è predefinito a 15 secondi secondo il protocollo registrato. |
encrypt |
- | false |
Modalità crittografia. Azure SQL richiede sempre la crittografia lato server. Vedi Crittografia e certificati. |
app name |
- | - | Nome della domanda inviato nel record di accesso. |
authenticator |
- | - | Autenticatore personalizzato registrato da pacchetti esterni come azuread. |
Server e porting
Nei formati ADO e ODBC, server e porta sono parametri separati:
| Parametro | Predefinito | Descrizione |
|---|---|---|
server |
localhost |
Nome host SQL Server, opzionalmente incluso \instance. |
port |
1433 |
Numero di porta TCP. |
Nel formato URL, specifica l'host e la porta direttamente nell'URL: sqlserver://host:port.
Failover
| Parametro | Predefinito | Descrizione |
|---|---|---|
failoverpartner |
- | Nome host del server partner di failover. |
failoverpartnerspn |
- | Nome principale del servizio (SPN) per il partner di failover. |
failoverport |
1433 |
Porta TCP per il partner di failover. |
Quando il server principale non è raggiungibile, il driver tenta automaticamente di connettersi al partner di failover.
Rete e prestazioni
| Parametro | Predefinito | Descrizione |
|---|---|---|
packet size |
4096 |
Dimensione del pacchetto TDS in byte. Intervallo valido: 512-32767. |
keepAlive |
30 |
Intervallo di keep alive in pochi secondi.
0 usa il sistema operativo predefinito. |
TrustServerCertificate |
Dipende da encrypt |
Quando true, salta la validazione del certificato server. Il predefinito è false quando encrypt è specificato e true quando encrypt è omesso. Viene ignorato quando encrypt=strict. Non consigliato per la produzione. |
multisubnetfailover |
- | Abilita il failover multi-subnet per i gruppi di disponibilità AlwaysOn. |
Finalità dell'applicazione
| Parametro | Values | Descrizione |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Dichiara se l'applicazione si connette per operazioni di sola lettura o di lettura-scrittura. Usato con il routing di sola lettura AlwaysOn. |
Workstation e SPN
| Parametro | Predefinito | Descrizione |
|---|---|---|
Workstation ID |
- | Il nome della postazione di lavoro è stato inviato nel record di accesso. |
ServerSPN |
- | Nome principale del servizio per SQL Server. Richiesto solo nelle configurazioni SPN non predefinite. |
Protocol
| Parametro | Values | Descrizione |
|---|---|---|
protocol |
tcp, np, lpcadmin |
Protocollo di trasporto. Vedi Protocolli. |
pipe |
- | Chiamato pipe path. Si applica solo quando protocol=np. |
Sempre Crittografato
| Parametro | Predefinito | Descrizione |
|---|---|---|
columnencryption |
None | Imposta su true per abilitare Sempre Criptato. Vedi sempre criptato. |
Crittografia e TLS
| Parametro | Predefinito | Descrizione |
|---|---|---|
encrypt |
Vedi Parametri comuni |
strict(TDS 8.0), true/mandatory,/falseoptional , . disable |
TrustServerCertificate |
Dipende da encrypt |
Saltare la validazione dei certificati quando true. Il predefinito è false quando encrypt è specificato e true quando encrypt è omesso. Viene ignorato quando encrypt=strict. |
certificate |
None | Percorso verso un file di certificato PEM o DER per la validazione della catena di certificati. |
serverCertificate |
None | Percorso verso un file di certificato PEM o DER per il confronto a livello di byte (v1.5.0 e successive). |
hostnameincertificate |
None | Sovrascrivi il nome host utilizzato durante la validazione del certificato TLS. |
tlsmin |
None | Versione minima TLS: 1.0, 1.1, 1.2, 1.3. |
Per indicazioni dettagliate sulla crittografia, vedi Crittografia e certificati.
Flag di registro
Usa il parametro per controllare l'output log diagnostico. I valori sono flag bitmask e puoi combinarli sommando i valori interi:
| Valore | Descrizione |
|---|---|
1 |
Errori di log |
2 |
Messaggi di log |
4 |
Righe di troncchi |
8 |
Registrare le istruzioni SQL |
16 |
Parametri del log |
32 |
Transazioni di log |
64 |
Informazioni di debug dei log |
128 |
Tentativi di log |
Esempio: per registrare errori e istruzioni SQL, impostare log=9 (1 + 8).
Per maggiori informazioni, vedi Registrazione e diagnostica.
colonne uniidentifier
Il driver legge uniqueidentifier di default le colonne come array di byte grezzi. Per ottenere una stringa standard formattata GUID, scansiona in mssql.UniqueIdentifier invece di string o []byte. Il driver non supporta la conversione automatica del GUID tramite i parametri di connessione.
SessionInitSQL
SessionInitSQLnon è un parametro di stringa di connessione. Impostalo tramite l'API NewConnectorConfig :
import (
"database/sql"
"github.com/microsoft/go-mssqldb"
"github.com/microsoft/go-mssqldb/msdsn"
)
config := msdsn.Config{
Host: "<server>",
Port: 1433,
Database: "AdventureWorks2025",
}
connector := mssql.NewConnectorConfig(config)
connector.SessionInitSQL = "SET ANSI_NULLS ON"
db := sql.OpenDB(connector)
L'istruzione SQL viene eseguita immediatamente dopo ogni nuova connessione, prima che la connessione venga restituita al chiamante.