Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel bietet eine vollständige Referenz für alle vom Treiber go-mssqldb akzeptierten Verbindungsparameter. Für die Syntax des Verbindungszeichenfolge-Formats siehe Connection strings.
Allgemeine Parameter
| Parameter | Aliase | Standard | Description |
|---|---|---|---|
user id |
user |
- | SQL Server-Login-Name. |
password |
- | - | Passwort für den SQL Server-Anmelder. |
database |
- | - | Zieldatenbank. |
connection timeout |
- | 0 |
Login-Timeout in Sekunden.
0 wartet unbegrenzt. Bevorzuge Go-Kontexte für Verbindungs- und Abfrage-Timeouts. Für Azure SQL-Datenbank serverlos mit aktivierter automatischer Pause schlägt die erste Verbindung zu einer pausierten Datenbank mit dem Fehler 40613 ab, während die Datenbank wieder aufgenommen wird. Füge eine Logik für das Wiederholen statt einer längeren Auszeit hinzu. Datenbanken werden in der Regel in weniger als einer Minute wieder aufgenommen. Siehe Auto-Pause und Auto-Resume. |
dial timeout |
- | 15 x protocol count |
Netzwerkwahl-Timeout in Sekunden.
0 wartet unbegrenzt. Der Treiber wird standardmäßig auf 15 Sekunden gemäß registriertem Protokoll eingestellt. |
encrypt |
- | false |
Verschlüsselungsmodus. Azure SQL erfordert immer Server-seitige Verschlüsselung. Siehe Verschlüsselung und Zertifikate. |
app name |
- | - | Anwendungsname im Login-Eintrag gesendet. |
authenticator |
- | - | Benutzerdefinierter Authenticator, der von externen Paketen wie azuread. registriert wird. |
Server und Port
In ADO- und ODBC-Formaten sind Server und Port getrennte Parameter:
| Parameter | Standard | Description |
|---|---|---|
server |
localhost |
SQL Server-Hostname, optional einschließlich \instance. |
port |
1433 |
TCP-Portnummer. |
Im URL-Format geben Sie den Host und Port direkt in der URL an: sqlserver://host:port.
Failover
| Parameter | Standard | Description |
|---|---|---|
failoverpartner |
- | Failover-Partnerserver-Hostname. |
failoverpartnerspn |
- | Service Principal Name (SPN) für den Failover-Partner. |
failoverport |
1433 |
TCP-Port für den Failover-Partner. |
Wenn der Hauptserver nicht erreichbar ist, versucht der Treiber, sich automatisch mit dem Failover-Partner zu verbinden.
Netzwerk und Auftritte
| Parameter | Aliase | Standard | Description |
|---|---|---|---|
packet size |
- | 4096 |
TDS-Paketgröße in Bytes. Gültiger Bereich: 512-32767. |
keepAlive |
- | 30 |
Überleben-Intervall in Sekunden.
0 verwendet standardmäßig das Betriebssystem. |
TrustServerCertificate |
- | Ist abhängig von encrypt |
Wenn true, überspringt die Serverzertifikatsvalidierung. Die Standardeinstellung ist false , wann encrypt angegeben ist und true wann weggelassen encrypt wird. Ignoriert, wenn encrypt=strict. Nicht für die Produktion empfohlen. |
multisubnetfailover |
multi subnet failover |
true |
Wählverhalten, wenn DNS den Host auf mehrere IP-Adressen auflöst. Wenn true und DNS mehrere Adressen zurückgibt, wählt der Treiber alle aufgelösten Endpunkte parallel und nutzt die erste erfolgreiche Verbindung. Wenn DNS eine einzelne Adresse zurückgibt, wählt der Treiber sie sequenziell, sodass true sie auf Einzel-IP-Zielen sicher ist. Behalten Sie den Standard für Verfügbarkeitsgruppen-Listener, Failover-Cluster-Instanzen und Azure SQL-Failover-Gruppen-Listener. Dieser Treiber setzt standardmäßig auf für true Abwärtskompatibilität; andere Microsoft SQL-Treiber setzen standardmäßig auf false. |
Anwendungsabsicht
| Parameter | Werte | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Gibt an, ob die Anwendung für Schreib-nur- oder Lese-Schreib-Operationen verbunden ist. Verwendet mit AlwaysOn-Nur-Lese-Routing. |
Arbeitsstation und SPN
| Parameter | Standard | Description |
|---|---|---|
Workstation ID |
- | Arbeitsstationsname, der im Anmeldeeintrag gesendet wurde. |
ServerSPN |
- | Service Principal Name für den SQL Server. Nur in Nicht-Standard-SPN-Konfigurationen erforderlich. |
Protocol
| Parameter | Werte | Description |
|---|---|---|
protocol |
tcp, np, lpc, admin |
Transportprotokoll Siehe Protokolle. |
pipe |
- | Benannter Rohrpfad. Gilt nur, wenn protocol=np. |
Immer Verschlüsselt
| Parameter | Standard | Description |
|---|---|---|
columnencryption |
Nichts | Auf Always Encrypted eingestellt true . Siehe Always Encrypted. |
Verschlüsselung und TLS
| Parameter | Standard | Description |
|---|---|---|
encrypt |
Siehe Gemeinsame Parameter |
strict(TDS 8,0), true/mandatory,false/optional , . disable |
TrustServerCertificate |
Ist abhängig von encrypt |
Überspringe die Zertifikatsvalidierung, wenn true. Die Standardeinstellung ist false , wann encrypt angegeben ist und true wann weggelassen encrypt wird. Ignoriert, wenn encrypt=strict. |
certificate |
Nichts | Pfad zu einer PEM- oder DER-Zertifikatsdatei zur Zertifikatskette-Validierung. |
serverCertificate |
Nichts | Pfad zu einer PEM- oder DER-Zertifikatsdatei für den Byte-Level-Vergleich (v1.5.0 und später). |
hostnameincertificate |
Nichts | Überschreiben Sie den während der TLS-Zertifikatsvalidierung verwendeten Hostnamen. |
tlsmin |
Nichts | Minimale TLS-Version: 1.0, 1.1, 1.2, 1.3. |
Für detaillierte Hinweise zur Verschlüsselung siehe Verschlüsselung und Zertifikate.
Log-Flags
Verwenden Sie den Parameter log , um die diagnostische Ausgabe zu steuern. Werte sind Bitmasken-Flags, und Sie können sie kombinieren, indem Sie die ganzzahligen Werte hinzufügen:
| Value | Description |
|---|---|
1 |
Protokollfehler |
2 |
Protokollmeldungen |
4 |
Logreihen |
8 |
SQL-Anweisungen protokollieren |
16 |
Protokollparameter |
32 |
Protokolltransaktionen |
64 |
Log-Debug-Informationen |
128 |
Log-Wiederholungen |
Beispiel: Um Fehler und SQL-Anweisungen zu protokollieren, setzen log=9 Sie (1 + 8).
Weitere Informationen finden Sie unter Logging und Diagnostik.
Uniqueidentifier-Spalten
Der Treiber liest standardmäßig Spalten als rohe Byte-Arrays aus uniqueidentifier . Um einen standardisierten GUID-formatierten String zu erhalten, scannen Sie stattdessen in mssql.UniqueIdentifierstring .[]byte Der Treiber unterstützt keine automatische GUID-Umwandlung über Verbindungsparameter.
SessionInitSQL
SessionInitSQList kein Verbindungszeichenfolge-Parameter. Setze es über die 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)
Die SQL-Anweisung wird unmittelbar nach jeder neuen Verbindung ausgeführt, bevor die Verbindung an den Anrufer zurückgegeben wird.