Go-MSSQLDB bağlantı seçenekleri

Bu makale, sürücü tarafından go-mssqldb kabul edilen tüm bağlantı parametreleri için tam bir referans sağlar. bağlantı dizesi format sözdizimi için bkz. Bağlantı dizileri bölüm.

Genel parametreler

Parametre Aliases Default Description
user id user - SQL Server giriş adı.
password - - SQL Server giriş şifresi.
database - - Hedef veritabanı.
connection timeout - 0 Giriş süresi saniyeler içinde. 0 Süresiz bekler. Bağlantı ve sorgu zamanlamaları için Go bağlamlarını tercih edin.
dial timeout - 15 x protocol count Ağ arama süresi saniyelerde. 0 Süresiz bekler. Sürücü, kayıtlı protokol başına varsayılan olarak 15 saniye olarak belirlenir.
encrypt - false Şifreleme modu. Azure SQL her zaman sunucu tarafında şifreleme gerektirir. Şifreleme ve sertifikalar bölümünü incele.
app name - - Başvuru adı giriş kaydına gönderildi.
authenticator - - Özel doğrulama cihazı, harici paketler tarafından kayıtlıdır azuread.

Sunucu ve port

ADO ve ODBC formatlarında, sunucu ve port ayrı parametrelerdir:

Parametre Default Description
server localhost SQL Server ana adı, isteğe bağlı olarak \instance.
port 1433 TCP port numarası.

URL formatında, ana bilgisayarı ve portu doğrudan URL'de belirtin: sqlserver://host:port.

Yük devretme

Parametre Default Description
failoverpartner - Failover partner sunucu ana adı.
failoverpartnerspn - Hizmet Ana Adı (SPN) için yedekleme ortağı için.
failoverport 1433 Failover ortağı için TCP portu.

Ana sunucuya erişilemiyorsa, sürücü otomatik olarak devretme ortağına bağlanmaya çalışır.

Ağ ve performans

Parametre Default Description
packet size 4096 TDS paket boyutu bayt cinsinden. Geçerli aralık: 512-32767.
keepAlive 30 Canlı kalma aralığı saniyelerde. 0 işletim sisteminin varsayılan özelliğini kullanır.
TrustServerCertificate Bağlı encrypt Ne zaman true, sunucu sertifikası doğrulamasını atlayın. Varsayılan durum, false belirtildiğinde encrypt ve true ne encrypt zaman atlandığında olur. olduğunda encrypt=strictyoksayılır. Üretim için önerilmez.
multisubnetfailover - AlwaysOn Erişilebilirlik Grupları için çoklu alt ağ failover'ı etkinleştirin.

Uygulama amacı

Parametre Değerler Description
ApplicationIntent ReadOnly, ReadWrite Uygulamanın sadece okunma veya okuma-yazma işlemleri için bağlanıp bağlanmadığını belirtir. AlwaysOn sadece okunabilir yönlendirme ile kullanılıyor.

İş istasyonu ve SPN

Parametre Default Description
Workstation ID - Giriş kaydında iş istasyonu adı gönderildi.
ServerSPN - SQL Server için Hizmet Ana Adı. Sadece varsayılan olmayan SPN yapılandırmalarında gereklidir.

Protocol

Parametre Değerler Description
protocol tcp, np, lpc, admin Aktarım protokolü. Protokollere bakınız.
pipe - Adı boru yolu. Sadece .protocol=np

Always Encrypted (Her Zaman Şifreli)

Parametre Default Description
columnencryption Hiçbiri Her Zaman Şifreli Etkinleştirmek için ayarlandı true . Her zaman şifreli bkz.

Şifreleme ve TLS

Parametre Default Description
encrypt Bkz . Ortak parametreler strict(TDS 8.0), true/mandatory,/falseoptional , . disable
TrustServerCertificate Bağlı encrypt Sertifika doğrulamasını atlayın.true Varsayılan durum, false belirtildiğinde encrypt ve true ne encrypt zaman atlandığında olur. olduğunda encrypt=strictyoksayılır.
certificate Hiçbiri Sertifika zinciri doğrulaması için PEM veya DER sertifika dosyasına giden yol.
serverCertificate Hiçbiri Bayt seviyesinde karşılaştırma için PEM veya DER sertifika dosyasına giden yol (v1.5.0 ve sonrası).
hostnameincertificate Hiçbiri TLS sertifikası doğrulaması sırasında kullanılan ana bilgisayar adını geçersiz kılın.
tlsmin Hiçbiri Minimum TLS sürümü: 1.0, 1.1, 1.2, 1.3.

Ayrıntılı şifreleme rehberliği için Şifreleme ve sertifikalar bölümünü inceleyebilirsiniz.

Günlük bayrakları

Tanı çıkışını kontrol etmek için parametreyi log kullanın. Değerler bitmask bayraklarıdır ve bunları tam sayı değerlerini ekleyerek birleştirebilirsiniz:

Value Description
1 Kayıt hataları
2 İletileri günlüğe kaydetme
4 Log satırları
8 Log SQL ifadeleri
16 Günlük parametreleri
32 Günlük işlemler
64 Log hata ayıklama bilgisi
128 Günlük yeniden denemeler

Örnek: hataları ve SQL ifadelerini kaydetmek için (1 + 8) ayarla log=9 .

Daha fazla bilgi için Loging ve diagnostika bölümünü inceleyin.

Uniqueidentifier sütunları

Sürücü, varsayılan olarak sütunları ham bayt dizileri olarak okur uniqueidentifier . Standart bir GUID formatlı bir dizi elde etmek için, yerine veya []byteiçine mssql.UniqueIdentifierstring tara edin. Sürücü, bağlantı parametreleri üzerinden otomatik GUID dönüşümünü desteklemiyor.

SessionInitSQL

SessionInitSQLbir bağlantı dizesi parametresi değildir. API üzerinden NewConnectorConfig ayarlayın:

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)

SQL ifadesi, her yeni bağlantı kurulduktan hemen sonra, bağlantı arayana geri dönmeden önce çalışır.