Možnosti připojení go-mssqldb

Tento článek poskytuje kompletní referenci všech parametrů připojení přijatých ovladačem go-mssqldb . Pro syntaxi formátu připojovací řetězec viz Connection strings.

Společné parametry

Parameter Aliases Výchozí Description
user id user - Přihlašovací jméno SQL Server.
password - - Heslo k přihlášení do SQL Server.
database - - Databáze cílů.
connection timeout - 0 Timeout přihlášení během několika sekund. 0 čeká donekonečna. Preferujte Go kontexty pro časové limity připojení a dotazů.
dial timeout - 15 x protocol count Časový limit síťového čísla během několika sekund. 0 čeká donekonečna. Ovladač automaticky nastavuje 15 sekund na jeden registrovaný protokol.
encrypt - false Režim šifrování. Azure SQL vždy vyžaduje šifrování na straně serveru. Viz Šifrování a certifikáty.
app name - - Název žádosti byl odeslán v přihlašovacím záznamu.
authenticator - - Vlastní autentizátor registrovaný externími balíčky, jako je azuread.

Server a port

Ve formátech ADO a ODBC jsou server a port samostatné parametry:

Parameter Výchozí Description
server localhost SQL Server hostitelské jméno, volitelně včetně \instance.
port 1433 Číslo TCP portu.

Ve formátu URL uveďte hostitele a port přímo v URL: sqlserver://host:port.

Převzetí služeb při selhání

Parameter Výchozí Description
failoverpartner - Hostitelské jméno partnerského serveru pro failover.
failoverpartnerspn - Název hlavní služby (SPN) pro partnera pro failover.
failoverport 1433 TCP port pro partnera pro failover.

Když je primární server nedosažitelný, ovladač se automaticky pokusí připojit k partnerovi pro failover.

Síť a výkon

Parameter Výchozí Description
packet size 4096 Velikost TDS paketu v bajtech. Platný rozsah: 512-32767.
keepAlive 30 Udržte přestávku během několika sekund. 0 používá výchozí operační systém.
TrustServerCertificate Závisí na encrypt Když true, přeskočte validaci serverového certifikátu. Výchozí je tehdy false , kdy encrypt je specifikován, a true když encrypt je vynechán. Ignoruje se, pokud encrypt=strict. Nedoporučuje se pro produkční prostředí.
multisubnetfailover - Povolte přepnutí více podsítí pro skupiny AlwaysOn Availability.

Záměr aplikace

Parameter Values Description
ApplicationIntent ReadOnly, ReadWrite Deklaruje, zda se aplikace připojuje pouze pro čtení nebo pro čtení a zápis. Používá se směrováním pouze pro čtení AlwaysOn.

Pracovní stanice a SPN

Parameter Výchozí Description
Workstation ID - Název pracovní stanice byl odeslán v přihlašovacím záznamu.
ServerSPN - Název Service Principal pro SQL Server. Vyžadováno pouze v nevýchozích konfiguracích SPN.

Protokol

Parameter Values Description
protocol tcp, np, , lpcadmin Přenosový protokol. Viz Protokoly.
pipe - Pojmenovaná cesta potrubí. Platí pouze tehdy, když protocol=np.

Trvale šifrováno

Parameter Výchozí Description
columnencryption None Nastavte na true Always Encrypted. Viz Vždy šifrováno.

Šifrování a TLS

Parameter Výchozí Description
encrypt Viz Běžné parametry strict(TDS 8.0), true/mandatory,/falseoptional , . disable
TrustServerCertificate Závisí na encrypt Přeskočte validaci certifikátu, když true. Výchozí je tehdy false , kdy encrypt je specifikován, a true když encrypt je vynechán. Ignoruje se, pokud encrypt=strict.
certificate None Cesta k souboru PEM nebo DER certifikátu pro ověření řetězce certifikátů.
serverCertificate None Cesta k certifikátovému souboru PEM nebo DER pro porovnání na úrovni bajtů (v1.5.0 a novější).
hostnameincertificate None Přepisujte název hostitele používaný během validace TLS certifikátu.
tlsmin None Minimální verze TLS: 1.0, 1.1, , 1.2. 1.3

Podrobné pokyny k šifrování najdete v článku Šifrování a certifikáty.

Vlajky na kládě

Použijte log parametr k ovládání diagnostického výstupu. Hodnoty jsou bitmaskové příznaky a můžete je kombinovat přidáním celočíselných hodnot:

Value Description
1 Chyby protokolu
2 Zprávy protokolu
4 Řády logů
8 Protokolování SQL příkazů
16 Parametry záznamu
32 Logové transakce
64 Informace o ladění logů
128 Logové opakované pokusy

Příklad: pro zaznamenání chyb a SQL příkazů nastavte log=9 (1 + 8).

Pro více informací viz Logování a diagnostika.

sloupce uniqueidentifier

Ovladač ve výchozím nastavení čte uniqueidentifier sloupce jako surová bajtová pole. Pro získání standardního řetězce formátovaného v GUID použijte scan do místo mssql.UniqueIdentifierstring nebo .[]byte Ovladač nepodporuje automatickou převod GUID přes parametry připojení.

SessionInitSQL

SessionInitSQLnení parametr připojovací řetězec. Nastavte to přes 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)

SQL příkaz se spustí ihned po navázání každého nového spojení, než je spojení vráceno volajícímu.