go-mssqldb verbindingsopties

Dit artikel biedt een volledige referentie voor alle verbindingsparameters die door de go-mssqldb driver worden geaccepteerd. Voor syntaxis van het verbindingsreeks-formaat, zie Connection strings.

Algemene parameters

Parameter Aliases Default Description
user id user - SQL Server inlognaam.
password - - Wachtwoord voor de SQL Server-login.
database - - Doeldatabase.
connection timeout - 0 Inlogtime-out over enkele seconden. 0 Wacht oneindig. Kies Go-contexten voor verbindings- en querytimeouts.
dial timeout - 15 x protocol count Netwerkdial-timeout binnen enkele seconden. 0 Wacht oneindig. De driver staat standaard op 15 seconden per geregistreerd protocol.
encrypt - false Encryptiemodus. Azure SQL vereist altijd versleuteling aan de serverzijde. Zie Versleuteling en certificaten.
app name - - Applicatienaam verzonden in het inlogrecord.
authenticator - - Aangepaste authenticator geregistreerd door externe pakketten zoals azuread.

Server en port

In ADO- en ODBC-formaten zijn server en poort aparte parameters:

Parameter Default Description
server localhost SQL Server-hostnaam, optioneel inclusief \instance.
port 1433 TCP-poortnummer.

In het URL-formaat specificeer je de host en port je direct in de URL: sqlserver://host:port.

Failover

Parameter Default Description
failoverpartner - Failover partnerserverhostnaam.
failoverpartnerspn - Service Principal Name (SPN) voor de failoverpartner.
failoverport 1433 TCP-poort voor de failoverpartner.

Wanneer de primaire server niet bereikbaar is, probeert de driver automatisch verbinding te maken met de failoverpartner.

Netwerk en optreden

Parameter Default Description
packet size 4096 TDS-pakketgrootte in bytes. Geldige bereik: 512-32767.
keepAlive 30 Keep-alive interval over seconden. 0 gebruikt het standaard besturingssysteem.
TrustServerCertificate Afhankelijk encrypt Wanneer true, sla de validatie van het servercertificaat over. De standaard is false wanneer encrypt is opgegeven en true wanneer encrypt wordt weggelaten. Genegeerd wanneer encrypt=strict. Niet aanbevolen voor productie.
multisubnetfailover - Schakel multi-subnet failover in voor AlwaysOn Availability Groups.

Toepassingsintentie

Parameter Values Description
ApplicationIntent ReadOnly, ReadWrite Geeft aan of de applicatie verbinding maakt voor alleen-lezen of lees-schrijven bewerkingen. Gebruikt met AlwaysOn read-only routing.

Werkstation en SPN

Parameter Default Description
Workstation ID - Werkstationsnaam verzonden in het inlogrecord.
ServerSPN - Service Principal naam voor de SQL Server. Vereist alleen in niet-standaard SPN-configuraties.

Protocol

Parameter Values Description
protocol tcp,np,lpc,admin Transportprotocol. Zie Protocollen.
pipe - Pijppad genoemd. Alleen van toepassing wanneer protocol=np.

Altijd versleuteld

Parameter Default Description
columnencryption Geen Stel in om true Altijd Versleuteld in te schakelen. Zie altijd versleuteld.

Versleuteling en TLS

Parameter Default Description
encrypt Zie Veelvoorkomende parameters strict(TDS 8.0), true/mandatory,/falseoptional , . disable
TrustServerCertificate Afhankelijk encrypt Sla certificaatvalidatie over wanneer true. De standaard is false wanneer encrypt is opgegeven en true wanneer encrypt wordt weggelaten. Genegeerd wanneer encrypt=strict.
certificate Geen Pad naar een PEM- of DER-certificaatbestand voor certificaatketenvalidatie.
serverCertificate Geen Pad naar een PEM- of DER-certificaatbestand voor byte-niveau vergelijking (v1.5.0 en later).
hostnameincertificate Geen Overschrijf de hostnaam die wordt gebruikt tijdens de validatie van TLS-certificaten.
tlsmin Geen Minimale TLS-versie: 1.0, 1.1, 1.2, . 1.3

Voor gedetailleerde encryptierichtlijnen, zie Versleuteling en certificaten.

Logvlaggen

Gebruik de log parameter om de diagnostische output te regelen. Waarden zijn bitmask-vlaggen, en je kunt ze combineren door de gehele getallen toe te voegen:

Value Description
1 Logboekfouten
2 Logboekberichten
4 Logrijen
8 SQL-instructies vastleggen
16 Logboekparameters
32 Logtransacties
64 Logdebug-informatie
128 Logherhalingen

Voorbeeld: om fouten en SQL-instructies te loggen, stel log=9 je (1 + 8) in.

Voor meer informatie, zie Logging en diagnostiek.

Kolommen met unieke identificatie

De driver leest uniqueidentifier kolommen standaard als ruwe byte-arrays. Om een standaard GUID-geformatteerde string te krijgen, scan je in mssql.UniqueIdentifier plaats van string in of []byte. De driver ondersteunt geen automatische GUID-conversie via verbindingsparameters.

SessionInitSQL

SessionInitSQLis geen parameter voor een verbindingsreeks. Stel het in via de NewConnectorConfig API:

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)

De SQL-instructie wordt direct uitgevoerd nadat elke nieuwe verbinding is opgezet, voordat de verbinding wordt teruggegeven aan de aanroeper.