Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memberikan referensi lengkap untuk semua parameter koneksi yang diterima oleh go-mssqldb driver. Untuk sintaks format string koneksi, lihat String koneksi.
Driver menyelesaikan alias dalam tabel berikut hanya dalam string koneksi format ADO . String koneksi format URL dan ODBC cocok persis dengan nama parameter, kecuali casing.
Parameter umum
| Parameter | Aliases | Default | Description |
|---|---|---|---|
user id |
user |
- | Nama login SQL Server. |
password |
- | - | Kata sandi untuk login SQL Server. |
database |
- | - | Database target. |
connection timeout |
- | 0 |
Timeout dalam hitungan detik untuk pertukaran login.
0 Tidak menerapkan timeout pada pertukaran login, tetapi koneksi jaringan awal dibatasi secara terpisah oleh dial timeout. Lebih suka konteks Go untuk batas waktu koneksi dan kueri. Untuk Azure SQL Database tanpa server dengan auto-pause diaktifkan, koneksi pertama ke database yang dijeda gagal dengan error 40613 saat database dilanjutkan. Tambahkan logika retry, bukan timeout yang lebih lama. Basis data umumnya kembali aktif dalam waktu kurang dari satu menit. Untuk informasi lebih lanjut, lihat Auto-pause dan auto-resume. |
dial timeout |
- | 15 x protocol count |
Batas waktu panggilan jaringan dalam hitungan detik.
0 menerapkan default 15 detik per protokol terdaftar daripada menunggu tanpa batas waktu. |
encrypt |
- | false |
Mode enkripsi. Azure SQL selalu memerlukan enkripsi sisi server. Lihat Enkripsi dan sertifikat. |
app name |
- | - | Nama aplikasi dikirim dalam catatan login. |
authenticator |
- | - | Pengautentikasi kustom yang didaftarkan oleh paket eksternal seperti azuread. |
Server dan port
Dalam format ADO dan ODBC, server dan port adalah parameter terpisah:
| Parameter | Default | Description |
|---|---|---|
server |
localhost |
Nama host SQL Server, secara opsional termasuk \instance. |
port |
1433 |
Nomor port TCP. |
Dalam format URL, tentukan host dan port langsung di URL: sqlserver://host:port.
Failover
| Parameter | Default | Description |
|---|---|---|
failoverpartner |
- | Nama host server mitra failover. |
failoverpartnerspn |
- | Nama Prinsipal Layanan (SPN) untuk mitra failover. |
failoverport |
1433 |
Port TCP untuk mitra failover. |
Saat server utama tidak dapat dijangkau, driver mencoba terhubung ke mitra failover secara otomatis.
Jaringan dan kinerja
| Parameter | Aliases | Default | Description |
|---|---|---|---|
packet size |
- | 4096 |
Ukuran paket TDS dalam byte. Rentang yang berlaku: 512-32767. |
keepAlive |
- | 30 |
Interval tetap hidup dalam hitungan detik. Nilai dari 0 menerapkan default 30 detik daripada bergantung pada sistem operasi. |
TrustServerCertificate |
- | Tergantung pada encrypt |
Kapan true, lewati validasi sertifikat server. Defaultnya adalah false kapan encrypt ditentukan dan true kapan encrypt dihilangkan. Diabaikan ketika encrypt=strict. Tidak disarankan untuk penggunaan di lingkungan produksi. |
multisubnetfailover |
multi subnet failover |
true |
Perilaku dial saat DNS menyelesaikan host ke beberapa alamat IP. Ketika true dan DNS mengembalikan beberapa alamat, driver akan menghubungi semua endpoint yang telah diselesaikan secara paralel dan menggunakan koneksi pertama yang berhasil. Ketika DNS mengembalikan satu alamat, driver memanggilnya secara berurutan, sehingga true aman pada target single-IP. Pertahankan default untuk availability group listeners, failover cluster instances, dan Azure SQL failover group listeners. Driver ini secara default untuk true kompatibilitas mundur; driver SQL Microsoft lainnya secara default ke false. |
Niat aplikasi
| Parameter | Values | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Mendeklarasikan apakah aplikasi terhubung untuk operasi baca-saja atau baca-tulis. Digunakan dengan perutean baca-saja AlwaysOn. |
Workstation dan SPN
| Parameter | Default | Description |
|---|---|---|
Workstation ID |
- | Nama stasiun kerja dikirim dalam catatan login. |
ServerSPN |
- | Nama Perwakilan Layanan untuk SQL Server. Hanya diperlukan dalam konfigurasi SPN non-default. |
Protokol
| Parameter | Values | Description |
|---|---|---|
protocol |
tcp,np,lpc,admin |
Protokol transportasi. Lihat Protokol. |
pipe |
- | Jalur pipa bernama. Hanya berlaku ketika protocol=np. |
Selalu Terenkripsi
| Parameter | Default | Description |
|---|---|---|
columnencryption |
None | Atur ke true untuk mengaktifkan Selalu Terenkripsi. Lihat Selalu Dienkripsi. |
Enkripsi dan TLS
| Parameter | Default | Description |
|---|---|---|
encrypt |
Lihat Parameter umum |
strict(TDS 8.0), true/mandatory, , false. /optionaldisable |
TrustServerCertificate |
Tergantung pada encrypt |
Lewati validasi sertifikat saat true. Defaultnya adalah false kapan encrypt ditentukan dan true kapan encrypt dihilangkan. Diabaikan ketika encrypt=strict. |
certificate |
None | Jalur ke file sertifikat PEM atau DER untuk validasi rantai sertifikat. |
serverCertificate |
None | Jalur ke file sertifikat PEM atau DER untuk perbandingan tingkat byte (v1.5.0 dan yang lebih baru). |
hostnameincertificate |
None | Mengganti nama host yang digunakan selama validasi sertifikat TLS. |
tlsmin |
None | Versi TLS minimum: 1.0, 1.1, , 1.2. 1.3 |
Untuk panduan enkripsi terperinci, lihat Enkripsi dan sertifikat.
Bendera log
Gunakan parameter untuk log mengontrol output diagnostik. Nilai adalah bendera bitmask, dan Anda dapat menggabungkannya dengan menambahkan nilai bilangan bulat:
| Value | Description |
|---|---|
1 |
Catat kesalahan |
2 |
Pesan log |
4 |
Baris log |
8 |
Merekam pernyataan SQL |
16 |
Parameter Pencatatan |
32 |
Mencatat transaksi |
64 |
Informasi debug log |
128 |
Mencatat percobaan ulang |
Contoh: untuk mencatat kesalahan dan pernyataan SQL, atur log=9 (1 + 8).
Untuk informasi selengkapnya, lihat Pengelogan dan diagnostik.
Kolom UniqueIdentifier
Driver membaca uniqueidentifier kolom sebagai array byte mentah secara default. Untuk mendapatkan string berformat GUID standar, pindai ke mssql.UniqueIdentifier alih-alih string atau []byte. Driver tidak mendukung konversi GUID otomatis melalui parameter koneksi.
SesiInitSQL
SessionInitSQLbukan parameter string koneksi. Atur melalui NewConnectorConfig API:
import (
"database/sql"
"github.com/microsoft/go-mssqldb"
"github.com/microsoft/go-mssqldb/msdsn"
)
config := msdsn.Config{
Host: "<server>",
Port: 1433,
Database: "AdventureWorks2025",
}
connector := mssql.NewConnectorConfig(config)
connector.SessionInitSQL = "SET ANSI_NULLS ON"
db := sql.OpenDB(connector)
Pernyataan SQL berjalan segera setelah setiap koneksi baru dibuat, sebelum koneksi dikembalikan ke pemanggil.