Protokol Go-MSSQLDB

go-mssqldb Driver mendukung beberapa protokol transportasi untuk menyambungkan ke SQL Server. Artikel ini menjelaskan setiap protokol dan cara mengonfigurasinya.

Parameter protokol

Atur protocol parameter koneksi untuk menentukan transportasi:

Value Protokol Description
tcp TCP/IP Protokol default. Bekerja di semua platform.
np Pipa bernama Komunikasi antar-proses Windows. Bekerja di Windows dan Linux (dengan SMB).
lpc Memori bersama Koneksi lokal hanya di Windows.
admin DAC (TCP) Koneksi Administrator Khusus. Terhubung ke titik akhir DAC.

Jika Anda tidak menentukan , protocoldriver menggunakan TCP.

TCP/IP

TCP adalah protokol default dan paling umum. Tentukan host dan port dalam string koneksi:

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

Atau secara eksplisit:

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

Format awalan server

Anda juga dapat menentukan protokol sebagai awalan pada nama server (format ADO/ODBC):

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

Note

Dalam format awalan ADO, port dipisahkan oleh koma, bukan titik dua.

Pipa bernama

Pipa bernama menggunakan np protokol. Tentukan jalur pipa dengan pipe parameter:

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

Atau gunakan format awalan server:

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

Nama pipa default adalah \sql\query untuk instans default.

Rilis driver saat ini mendukung koneksi pipa bernama di Windows untuk Arm64 selain Windows dan Linux untuk lingkungan x86-64 yang mengekspos pipa melalui SMB.

Nama pipa instans bernama

Untuk instans bernama, jalur pipa biasanya \MSSQL$INSTANCENAME\sql\query. Jika Anda mengetahui jalur pipa, tentukan secara langsung. Jika tidak, hilangkan pipe parameter dan biarkan SQL Server Browser menyelesaikannya.

Memori bersama

Memori bersama (lpc) menyediakan komunikasi tercepat untuk koneksi lokal di Windows. Ini hanya berfungsi ketika klien dan server berada di mesin yang sama:

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

Atau dengan awalan server:

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

Note

Memori bersama tidak tersedia di Linux atau macOS.

Koneksi Administrator Khusus (DAC)

DAC menyediakan koneksi diagnostik khusus ke SQL Server saat server tidak responsif. DAC mendengarkan pada port khusus (default: 1434 untuk instans default):

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

Atau dengan awalan server:

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

Warning

SQL Server hanya mengizinkan satu koneksi DAC pada satu waktu. Gunakan DAC hanya untuk diagnostik darurat.

Browser SQL Server

Saat driver tersambung ke instans bernama tanpa port yang ditentukan, driver menghubungi layanan Browser SQL Server (pada port UDP 1434) untuk menyelesaikan instans ke port TCP. Pastikan layanan SQL Server Browser berjalan di komputer target.

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

Panduan pemilihan protokol

Skenario Protokol yang direkomendasikan
Koneksi jarak jauh tcp
Koneksi lokal di Windows lpc (tercepat) atau tcp
Aplikasi lintas platform tcp
Diagnostik darurat admin
Aplikasi lama yang memerlukan pipa bernama np