Protokoły go-mssqldb

Sterownik go-mssqldb obsługuje wiele protokołów transportowych do łączenia się z SQL Server. Ten artykuł opisuje każdy protokół oraz sposób jego konfiguracji.

Parametr protokołu

Ustaw parametr połączenia protocol , aby określić transport:

Value Protokół Description
tcp TCP/IP Domyślny protokół. Działa na wszystkich platformach.
np Nazwane kanały Komunikacja między procesami w Windows. Działa na Windows i Linux (z SMB).
lpc Pamięć udostępniona Połączenia lokalne tylko na Windows.
admin DAC (TCP) Dedykowane połączenie z administratorem. Łączy się z punktem końcowym DAC.

Jeśli nie określisz , protocolsterownik używa TCP.

TCP/IP

TCP jest domyślnym i najczęściej stosowanym protokołem. Określ host i port w parametry połączenia:

sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025

Lub jawnie:

sqlserver://<user>:<password>@<server>:1433?database=AdventureWorks2025&protocol=tcp

Format prefiksu serwera

Możesz także określić protokół jako prefiks w nazwie serwera (formaty ADO/ODBC):

server=tcp:<server>,1433;user id=<user>;password=<password>;database=AdventureWorks2025

Note

W formacie prefiksu ADO port jest oddzielony przecinkiem, a nie dwukropkiem.

Nazwane kanały

Nazwane rury korzystają z tego protokołu np . Określ ścieżkę rury parametrem pipe :

sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=np&pipe=\sql\query

Albo użyj formatu prefiksu serwera:

server=np:<server>\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025

Domyślna nazwa pociągu dotyczy \sql\query domyślnej instancji.

Obecne wydania sterowników obsługują nazwane połączenia potokowe na Windows dla Arm64, oprócz Windows i Linux dla środowisk x86-64, które udostępniają potok przez SMB.

Nazwane nazwy potoków instancji

Dla nazwanych instancji ścieżka pociągu to zazwyczaj \MSSQL$INSTANCENAME\sql\query. Jeśli znasz ścieżkę rury, podaj ją bezpośrednio. W przeciwnym razie pomiń pipe parametr i pozwól przeglądarce SQL Server go rozwiązać.

Pamięć udostępniona

Pamięć współdzielona (lpc) zapewnia najszybszą komunikację dla połączeń lokalnych na Windows. Działa to tylko wtedy, gdy klient i serwer są na tym samym komputerze:

sqlserver://<user>:<password>@localhost?database=AdventureWorks2025&protocol=lpc

Albo z prefiksem serwera:

server=lpc:.\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025

Note

Współdzielona pamięć nie jest dostępna na Linuksie ani macOS.

Dedykowane połączenie administratora (DAC)

DAC zapewnia specjalne połączenie diagnostyczne z SQL Server, gdy serwer nie reaguje. DAC nasłuchuje na dedykowanym porcie (domyślnie: 1434 dla domyślnych instancji):

sqlserver://<user>:<password>@<server>?database=AdventureWorks2025&protocol=admin

Albo z prefiksem serwera:

server=admin:<server>;user id=<user>;password=<password>;database=AdventureWorks2025

Warning

SQL Server pozwala na jedno połączenie DAC jednocześnie. Używaj DAC tylko do diagnostyki awaryjnej.

przeglądarka SQL Server

Gdy sterownik łączy się z nazwaną instancją bez określonego portu, kontaktuje się z usługą SQL Server Browser (na porcie UDP 1434), aby rozwiązać instancję na port TCP. Upewnij się, że usługa przeglądarki SQL Server działa na docelowej maszynie.

sqlserver://<user>:<password>@<server>\myinstance?database=AdventureWorks2025

Wytyczne dotyczące wyboru protokołu

Scenario Zalecany protokół
Połączenia zdalne tcp
Połączenia lokalne na Windows lpc (najszybszy) lub tcp
Aplikacje międzyplatformowe tcp
Diagnostyka awaryjna admin
Aplikacje starsze wymagające nazwanych potoków np