Go-mssqlDB-protokoll

Drivrutinen go-mssqldb stöder flera transportprotokoll för anslutning till SQL Server. Den här artikeln beskriver varje protokoll och hur man konfigurerar det.

Protokollparameter

Ställ in anslutningsparametern protocol för att specificera transporten:

Value Protokoll Description
tcp TCP/IP Standardprotokoll. Fungerar på alla plattformar.
np Namngivna rör Windows kommunikation mellan processer. Fungerar på Windows och Linux (med SMB).
lpc Delat minne Lokala anslutningar endast på Windows.
admin DAC (TCP) Dedikerad administratörsanslutning. Ansluter till DAC-ändpunkten.

Om du inte specificerar en , använder drivrutinen protocolTCP.

TCP/IP

TCP är standardprotokollet och det vanligaste protokollet. Ange värd och port i reťazec pripojenia:

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

Eller uttryckligen:

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

Serverprefixformat

Du kan också ange protokollet som prefix på servernamnet (ADO/ODBC-format):

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

Note

I ADO-prefixformatet separeras porten av ett kommatecken, inte ett kolon.

Namngivna rör

Namngivna rör använder protokollet np . Specificera rörvägen med parametern pipe :

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

Eller använd serverprefixformatet:

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

Standardnamnet på pipan gäller \sql\query standardinstansen.

Nuvarande drivrutinssläpp stöder namngivna röranslutningar på Windows för Arm64 utöver Windows och Linux för x86-64-miljöer som exponerar röret över SMB.

Namngivna instanspipnamn

För namngivna instanser är rörvägen vanligtvis \MSSQL$INSTANCENAME\sql\query. Om du känner till rörvägen, ange den direkt. Annars, utelämna parametern pipe och låt SQL Server Browser lösa det.

Delat minne

Delat minne (lpc) ger den snabbaste kommunikationen för lokala anslutningar på Windows. Det fungerar bara när klient och server är på samma maskin:

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

Eller med serverprefixet:

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

Note

Delat minne finns inte tillgängligt på Linux eller macOS.

Dedikerad administratörsanslutning (DAC)

DAC:n tillhandahåller en speciell diagnostisk anslutning till SQL Server när servern inte svarar. DAC:n lyssnar på en dedikerad port (standard: 1434 för standardinstanser):

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

Eller med serverprefixet:

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

Varning

SQL Server tillåter endast en DAC-anslutning åt gången. Använd DAC:n endast för nöddiagnostik.

SQL Server-webbläsare

När drivrutinen ansluter till en namngiven instans utan en specificerad port kontaktar den SQL Server Browser-tjänsten (på UDP-port 1434) för att koppla instansen till en TCP-port. Se till att SQL Server Browser-tjänsten körs på måldatorn.

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

Riktlinjer för protokollval

Scenario Rekommenderat protokoll
Fjärranslutningar tcp
Lokala anslutningar på Windows lpc (snabbast) eller tcp
Plattformsoberoende applikationer tcp
Nöddiagnostik admin
Äldre applikationer som kräver namngivna rör np