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.
Der Treiber go-mssqldb unterstützt mehrere Transportprotokolle für die Verbindung mit SQL Server. Dieser Artikel beschreibt jedes Protokoll und wie man es konfiguriert.
Protokollparameter
Setzen Sie den protocol Verbindungsparameter ein, um den Transport zu spezifizieren:
| Value | Protocol | Beschreibung |
|---|---|---|
tcp |
TCP/IP | Standardprotokoll. Funktioniert auf allen Plattformen. |
np |
Named Pipes | Windows-Kommunikation zwischen Prozessen. Funktioniert unter Windows und Linux (mit SMB). |
lpc |
Shared Memory | Lokale Verbindungen nur unter Windows. |
admin |
DAC (TCP) | Dedizierte Administratorverbindung. Verbindet sich mit dem DAC-Endpunkt. |
Wenn du kein protocolSpeifiz angibst, verwendet der Treiber TCP.
TCP/IP
TCP ist das Standard- und gängigste Protokoll. Spezifizieren Sie Host und Port in der Verbindungszeichenfolge:
sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025
Oder explizit:
sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025&protocol=tcp
Serverpräfix-Format
Sie können das Protokoll auch als Präfix auf dem Servernamen angeben (ADO/ODBC-Formate):
server=tcp:<server>,1433;user id=<user>;password=<password>;database=AdventureWorks2025
Hinweis
Im ADO-Präfix-Format ist der Port durch ein Komma und nicht durch Doppelpunkt getrennt.
Named Pipes
Benannte Rohre verwenden das Protokoll np . Spezifizieren Sie den Rohrpfad mit dem Parameter pipe :
sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=np&pipe=\sql\query
Oder verwenden Sie das Serverpräfix-Format:
server=np:<server>\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025
Der Standard-Pipe-Name ist \sql\query für die Standardinstanz.
Benannte Instanz-Pipenamen
Für benannte Instanzen ist der Rohrpfad typischerweise \MSSQL$INSTANCENAME\sql\query. Wenn du den Rohrweg kennst, gib ihn direkt an. Andernfalls solltest du den Parameter pipe weglassen und SQL Server Browser ihn auflösen lassen.
Shared Memory
Gemeinsamer Speicher (lpc) bietet die schnellste Kommunikation für lokale Verbindungen unter Windows. Es funktioniert nur, wenn Client und Server auf derselben Maschine sind:
sqlserver://<user>:<password>@localhost?database=AdventureWorks2025&protocol=lpc
Oder mit dem Server-Präfix:
server=lpc:.\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025
Hinweis
Gemeinsamer Speicher ist weder unter Linux noch macOS verfügbar.
Dedizierte Administratorverbindung (DAC)
Der DAC stellt eine spezielle diagnostische Verbindung zum SQL Server bereit, wenn der Server nicht reagiert. Der DAC hört an einem dedizierten Port (Standard: 1434 für Standardinstanzen):
sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=admin
Oder mit dem Server-Präfix:
server=admin:<server>;user id=<user>;password=<password>;database=AdventureWorks2025
Warning
SQL Server erlaubt jeweils nur eine DAC-Verbindung. Benutze den DAC nur für Notfalldiagnostik.
SQL Server Browser
Wenn der Treiber sich mit einer benannten Instanz ohne angegebenen Port verbindet, kontaktiert er den SQL Server Browser-Service (auf UDP-Port 1434), um die Instanz auf einen TCP-Port umzuleiten. Stellen Sie sicher, dass der SQL Server Browser-Dienst auf dem Zielrechner läuft.
sqlserver://<user>:<password>@<server>\myinstance?database=AdventureWorks2025
Richtlinien zur Protokollauswahl
| Szenario | Empfohlenes Protokoll |
|---|---|
| Fernverbindungen | tcp |
| Lokale Verbindungen unter Windows |
lpc (schnellste) oder tcp |
| Plattformübergreifende Anwendungen | tcp |
| Notfalldiagnostik | admin |
| Altanwendungen, die benannte Rohre erfordern | np |