go-mssqldb anslutningsalternativ

Denna artikel ger en fullständig referens för alla anslutningsparametrar som accepteras av drivrutinen go-mssqldb . För syntax i reťazec pripojenia-formatet, se Connection strings.

Gemensamma parametrar

Parameter Aliases Förinställning Description
user id user - SQL Server-inloggningsnamn.
password - - Lösenord för SQL Server-inloggningen.
database - - Måldatabas.
connection timeout - 0 Inloggningstid om några sekunder. 0 väntar på obestämd tid. Föredra Go-kontexter för anslutning och frågetider. För Azure SQL Database serverless med autopaus aktiverad misslyckas den första anslutningen till en pausad databas med fel 40613 medan databasen återupptas. Lägg till omförsökslogik istället för en längre timeout. Databaser återupptas vanligtvis på mindre än en minut. Se Auto-pause och auto-fortsättning.
dial timeout - 15 x protocol count Nätverksuppringningstimeout på några sekunder. 0 väntar på obestämd tid. Drivrutinen är som standard 15 sekunder enligt registrerat protokoll.
encrypt - false Krypteringsläge. Azure SQL kräver alltid kryptering på serversidan. Se Kryptering och certifikat.
app name - - Applikationsnamn skickats i inloggningsposten.
authenticator - - Anpassad autentisator registrerad av externa paket såsom azuread.

Server och port

I ADO- och ODBC-format är servern och porten separata parametrar:

Parameter Förinställning Description
server localhost SQL Server-värdnamn, eventuellt inklusive \instance.
port 1433 TCP-portnummer.

I URL-format, ange värden och portera direkt i URL:en: sqlserver://host:port.

Redundans

Parameter Förinställning Description
failoverpartner - Failover partnerserverns värdnamn.
failoverpartnerspn - Service Principal Name (SPN) för failover-partnern.
failoverport 1433 TCP-port för failover-partnern.

När primärservern är otillgänglig försöker drivrutinen automatiskt ansluta till failover-partnern.

Nätverk och framträdande

Parameter Aliases Förinställning Description
packet size - 4096 TDS-paketstorlek i bytes. Giltigt intervall: 512-32767.
keepAlive - 30 Håll-i-liv-intervall om sekunder. 0 använder operativsystemets standard.
TrustServerCertificate - Beror på encrypt När true, hoppa över validering av servercertifikat. Standarden är false när encrypt anges och true när encrypt utelämnas. Ignoreras när encrypt=strict. Rekommenderas inte för produktion.
multisubnetfailover multi subnet failover true Uppringningsbeteende när DNS reaktiverar värden till flera IP-adresser. När true en DNS returnerar flera adresser ringer drivrutinen alla upplösta ändpunkter parallellt och använder den första lyckade anslutningen. När DNS returnerar en enda adress ringer drivrutinen den sekventiellt, vilket true gör det säkert på enskilda IP-mål. Behåll standardinställningen för tillgänglighetsgrupplyssnare, failover-klusterinstanser och Azure SQL-failover-grupplyssnare. Denna drivrutin är standard för bakåtkompatibilitet; andra Microsoft SQL-drivrutiner har standardinställning till truefalse.

Program avsikt

Parameter Values Description
ApplicationIntent ReadOnly, ReadWrite Deklarerar om applikationen ansluter för skrivskyddad eller läs-skriv-operation. Används med AlwaysOn read-only routing.

Arbetsstation och SPN

Parameter Förinställning Description
Workstation ID - Arbetsstationens namn skickades i inloggningsposten.
ServerSPN - Tjänsteprincipnamn för SQL Server. Krävs endast i icke-standard SPN-konfigurationer.

Protokoll

Parameter Values Description
protocol tcp, np, lpc, admin Transportprotokoll. Se Protokoll.
pipe - Namngiven rörväg. Endast gäller när protocol=np.

Alltid Krypterad

Parameter Förinställning Description
columnencryption None Ställ in på true för att aktivera Alltid krypterat. Se alltid krypterat.

Kryptering och TLS

Parameter Förinställning Description
encrypt Se Vanliga parametrar strict(TDS 8,0), true/mandatory,false/optional , . disable
TrustServerCertificate Beror på encrypt Hoppa över certifikatvalidering när true. Standarden är false när encrypt anges och true när encrypt utelämnas. Ignoreras när encrypt=strict.
certificate None Väg till en PEM- eller DER-certifikatfil för validering av certifikatkedjan.
serverCertificate None Sök till en PEM- eller DER-certifikatfil för bytenivåjämförelse (v1.5.0 och senare).
hostnameincertificate None Åsidosätt värdnamnet som används vid validering av TLS-certifikat.
tlsmin None Minsta TLS-version: 1.0, 1.1, 1.2, . 1.3

För detaljerad krypteringsvägledning, se Kryptering och certifikat.

Stockflaggor

Använd parametern log för att styra diagnostiska resultat. Värden är bitmaskflaggor, och du kan kombinera dem genom att lägga till heltalsvärdena:

Value Description
1 Loggfelaktigheter
2 Loggmeddelanden
4 Lograder
8 Logga SQL-instruktioner
16 Loggparametrar
32 Loggtransaktioner
64 Loggdebuginformation
128 Loggförsök

Exempel: för att logga fel och SQL-satser, sätt log=9 (1 + 8).

För mer information, se Loggning och diagnostik.

Unika identifierarkolumner

Drivrutinen läser uniqueidentifier kolumner som råbytearrayer som standard. För att få en standard GUID-formaterad sträng, skanna in istället mssql.UniqueIdentifier för string eller []byte. Drivrutinen stöder inte automatisk GUID-konvertering via anslutningsparametrar.

SessionInitSQL

SessionInitSQLär inte en parameter för reťazec pripojenia. Ställ in det via API:et 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)

SQL-satsen körs omedelbart efter att varje ny anslutning upprättats, innan anslutningen återlämnas till anroparen.