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. |
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 | 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 |
- | Aktivieren Sie Multi-Subnet-Failover für AlwaysOn-Verfügbarkeitsgruppen. |
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,/falseoptional , . 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.