Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera pełne źródło wszystkich parametrów połączenia akceptowanych przez sterownik.go-mssqldb Aby uzyskać składnię formatu parametry połączenia, zobacz Connection strings.
Wspólne parametry
| Parameter | Aliases | Default | Description |
|---|---|---|---|
user id |
user |
- | Nazwa logowania do SQL Server. |
password |
- | - | Hasło do logowania do SQL Server. |
database |
- | - | Baza docelowa. |
connection timeout |
- | 0 |
Czas logowania trwa kilka sekund.
0 czeka bez końca. Preferuj konteksty Go dla limitów łączeń i zapytań. |
dial timeout |
- | 15 x protocol count |
Limit wybrania sieci w kilka sekund.
0 czeka bez końca. Sterownik domyślnie przyjmuje 15 sekund na jeden zarejestrowany protokół. |
encrypt |
- | false |
Tryb szyfrowania. Azure SQL zawsze wymaga szyfrowania po stronie serwera. Zobacz Szyfrowanie i certyfikaty. |
app name |
- | - | Nazwa aplikacji wysłana w rejestrze logowania. |
authenticator |
- | - | Niestandardowy uwierzytelniacz zarejestrowany przez zewnętrzne pakiety, takie jak azuread. |
Serwer i port
W formatach ADO i ODBC serwer i port to oddzielne parametry:
| Parameter | Default | Description |
|---|---|---|
server |
localhost |
Nazwa hosta SQL Server, opcjonalnie zawierająca \instance. |
port |
1433 |
Numer portu TCP. |
W formacie URL należy określić hosta i port bezpośrednio w URL: sqlserver://host:port.
Tryb failover
| Parameter | Default | Description |
|---|---|---|
failoverpartner |
- | Nazwa hosta partnera awaryjnego. |
failoverpartnerspn |
- | Nazwa Principal Service (SPN) dla partnera awaryjnego. |
failoverport |
1433 |
Port TCP dla partnera awaryjnego. |
Gdy główny serwer jest nieosiągalny, sterownik próbuje automatycznie połączyć się z partnerem awaryjnym.
Sieć i wydajność
| Parameter | Default | Description |
|---|---|---|
packet size |
4096 |
Rozmiar pakietu TDS w bajtach. Ważny zakres: 512-32767. |
keepAlive |
30 |
Czas na utrzymanie czasu w kilka sekund.
0 używa domyślnego systemu operacyjnego. |
TrustServerCertificate |
Zależy od encrypt |
Gdy true, pomiń walidację certyfikatu serwera. Domyślnie jest to, false gdy encrypt jest określone, a true gdy encrypt jest pomijane. Ignorowane, gdy encrypt=strict. Niezalecane w środowisku produkcyjnym. |
multisubnetfailover |
- | Włącz awaryjne przełączanie wielopodsieci dla grup dostępności AlwaysOn. |
Intencja aplikacji
| Parameter | Values | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Deklaruje, czy aplikacja łączy się tylko do odczytu czy do odczytu. Używa się z routingiem tylko do odczytu AlwaysOn. |
Stacja robocza i SPN
| Parameter | Default | Description |
|---|---|---|
Workstation ID |
- | Nazwa stacji roboczej wysłana w rejestrze logowania. |
ServerSPN |
- | Nazwa Principal Service dla SQL Server. Wymagane tylko w konfiguracjach SPN niedomyślnych. |
Protokół
| Parameter | Values | Description |
|---|---|---|
protocol |
tcp
np, , , lpcadmin |
Protokół transportowy. Zobacz Protokoły. |
pipe |
- | Nazwana ścieżka rury. Dotyczy tylko wtedy, gdy protocol=np. |
Zawsze szyfrowane
| Parameter | Default | Description |
|---|---|---|
columnencryption |
Żadne | Ustaw na true włączone Zawsze szyfrowane. Zobacz Zawsze szyfrowane. |
Szyfrowanie i TLS
| Parameter | Default | Description |
|---|---|---|
encrypt |
Zobacz parametry wspólne |
strict(TDS 8.0), true/mandatory,/falseoptional , . disable |
TrustServerCertificate |
Zależy od encrypt |
Pomiń walidację certyfikatu, gdy true. Domyślnie jest to, false gdy encrypt jest określone, a true gdy encrypt jest pomijane. Ignorowane, gdy encrypt=strict. |
certificate |
Żadne | Ścieżka do pliku certyfikatu PEM lub DER do walidacji łańcucha certyfikatów. |
serverCertificate |
Żadne | Ścieżka do pliku certyfikatu PEM lub DER do porównania na poziomie bajtów (v1.5.0 i nowsze). |
hostnameincertificate |
Żadne | Nadpisz nazwę hosta używaną podczas walidacji certyfikatu TLS. |
tlsmin |
Żadne | Minimalna wersja TLS: 1.0, , , 1.2. 1.31.1 |
Szczegółowe wskazówki dotyczące szyfrowania znajdują się w artykule Szyfrowanie i certyfikaty.
Flagi z kłodami
Użyj parametru log do sterowania wynikiem diagnostycznym. Wartości to flagi bitmaski i można je łączyć, dodając wartości całkowite:
| Value | Description |
|---|---|
1 |
Błędy logu |
2 |
Komunikaty dziennika |
4 |
Rzędy z bali |
8 |
Rejestrowanie instrukcji SQL |
16 |
Parametry dziennika |
32 |
Transakcje logiczne |
64 |
Informacje o debugowaniu logów |
128 |
Próby logów |
Przykład: do logowania błędów i instrukcji SQL ustaw log=9 (1 + 8).
Więcej informacji można znaleźć w sekcji Logowanie i diagnostyka.
kolumny uniqueidentifier
Sterownik domyślnie odczytuje uniqueidentifier kolumny jako surowe tablice bajtów. Aby uzyskać standardowy ciąg w formacji GUID, przeskanuj do zamiast mssql.UniqueIdentifierstring lub []byte. Sterownik nie obsługuje automatycznej konwersji GUID przez parametry połączenia.
SessionInitSQL
SessionInitSQLnie jest parametrem parametry połączenia. Ustaw to przez 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)
Instrukcja SQL uruchamia się natychmiast po nawiązaniu każdego nowego połączenia, zanim połączenie zostanie zwrócone do wywołującego.