Go-mssqldb protokoly

Ovladač go-mssqldb podporuje více transportních protokolů pro připojení k SQL Server. Tento článek popisuje každý protokol a jak jej konfigurovat.

Parametr protokolu

Nastavte protocol parametr spojení pro určení transportu:

Value Protokol Description
tcp protokol TCP/IP Výchozí protokol. Funguje na všech platformách.
np Pojmenované kanály Windows komunikace mezi procesory. Funguje na Windows a Linuxu (s SMB).
lpc Sdílená paměť Lokální připojení pouze na Windows.
admin DAC (TCP) Dedikované připojení pro administrátora. Připojuje se k DAC endpointu.

Pokud nespecifikujete , protocolovladač používá TCP.

protokol TCP/IP

TCP je výchozí a nejběžnější protokol. Zadejte hostitele a port v připojovací řetězec:

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

Nebo explicitně:

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

Formát serveru

Protokol můžete také zadat jako prefix na názvu serveru (formáty ADO/ODBC):

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

Note

Ve formátu ADO je port oddělen čárkou, nikoli dvojtečkou.

Pojmenované kanály

Pojmenované potrubí používají tento np protokol. Zadejte cestu potrubí pomocí parametru pipe :

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

Nebo použijte formát serverového prefixu:

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

Výchozí název potrubí je \sql\query pro výchozí instanci.

Současné verze ovladačů podporují pojmenovaná pipe připojení na Windows pro Arm64, kromě Windows a Linuxu pro x86-64 prostředí, která zpřístupňují potrubí přes SMB.

Názvy pojmenovaných instancí potrubí

Pro pojmenované instance je cesta potrubí obvykle \MSSQL$INSTANCENAME\sql\query. Pokud znáte cestu potrubí, zadejte ji přímo. Jinak parametr pipe vynechte a nechte ho vyřešit v SQL Server Browseru.

Sdílená paměť

Sdílená paměť (lpc) poskytuje nejrychlejší komunikaci pro lokální připojení ve Windows. Funguje pouze tehdy, když jsou klient a server na stejném stroji:

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

Nebo s předponou serveru:

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

Note

Sdílená paměť není dostupná na Linuxu ani macOS.

Dedikované administrátorské připojení (DAC)

DAC poskytuje speciální diagnostické spojení se SQL Server, když server nereaguje. DAC naslouchá na dedikovaném portu (výchozí: 1434 pro výchozí instance):

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

Nebo s předponou serveru:

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

Warning

SQL Server umožňuje pouze jedno připojení DAC najednou. DAC používejte pouze pro nouzovou diagnostiku.

Prohlížeč SQL Serveru

Když se ovladač připojí k pojmenované instanci bez určeného portu, kontaktuje službu SQL Server Browser (na UDP portu 1434), aby instanci vyřešil na TCP port. Ujistěte se, že služba SQL Server Browser běží na cílovém stroji.

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

Pokyny pro výběr protokolu

Scénář Doporučený protokol
Vzdálená spojení tcp
Lokální připojení na Windows lpc (nejrychlejší) nebo tcp
Aplikace napříč platformami tcp
Nouzová diagnostika admin
Starší aplikace vyžadující pojmenované potrubí np