Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлен полный справочник по всем параметрам соединения, принятым go-mssqldb драйвером. Для синтаксиса формата строка подключения см. раздел Connection strings.
Общие параметры
| Parameter | Aliases | Default | Description |
|---|---|---|---|
user id |
user |
- | Имя входа SQL Server. |
password |
- | - | Пароль для входа в SQL Server. |
database |
- | - | База данных целей. |
connection timeout |
- | 0 |
Тайм-аут входа — через секунды.
0 ждёт бесконечно. Предпочитайте контексты Go для тайм-аутов соединений и запросов. |
dial timeout |
- | 15 x protocol count |
Тайм-аут сетевого набора за секунды.
0 ждёт бесконечно. Драйвер по умолчанию устанавливает 15 секунд по зарегистрированному протоколу. |
encrypt |
- | false |
Режим шифрования. Azure SQL всегда требует серверного шифрования. См. Шифрование и сертификаты. |
app name |
- | - | Название приложения отправлено в запись входа. |
authenticator |
- | - | Пользовательский аутентификатор, зарегистрированный внешними пакетами, такими azureadкак . |
Сервер и порт
В форматах ADO и ODBC сервер и порт являются отдельными параметрами:
| Parameter | Default | Description |
|---|---|---|
server |
localhost |
Имя хоста SQL Server, по желанию включая \instance. |
port |
1433 |
Номер порта TCP. |
В формате URL укажите хост и порт непосредственно в URL: sqlserver://host:port.
Отработка отказа
| Parameter | Default | Description |
|---|---|---|
failoverpartner |
- | Имя хоста партнера по резервному подключению. |
failoverpartnerspn |
- | Имя принципиала сервиса (SPN) для партнёра по переключению на резерв. |
failoverport |
1433 |
TCP-порт для партнёра по переключению на резерв. |
Когда основной сервер недоступен, драйвер пытается автоматически подключиться к партнёру по резервированию.
Сеть и производительность
| Parameter | Default | Description |
|---|---|---|
packet size |
4096 |
Размер пакета TDS в байтах. Допустимый диапазон: 512-32767. |
keepAlive |
30 |
Интервал сохранения живых через секунды.
0 использует стандартную операционную систему. |
TrustServerCertificate |
Зависит от encrypt |
Когда true, пропускайте проверку сертификатов сервера. По умолчанию — false когда encrypt указано и true когда encrypt опущено. Игнорируется, когда encrypt=strict. Не рекомендуется для эксплуатации. |
multisubnetfailover |
- | Включите многосетевое резервное переключение для групп доступности AlallOn. |
Намерение приложения
| Parameter | Ценности | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Объявляет, подключается ли приложение для операций только чтения или для чтения-записи. Используется с маршрутизацией только для чтения AlwaysOn. |
Рабочая станция и SPN
| Parameter | Default | Description |
|---|---|---|
Workstation ID |
- | Имя рабочей станции отправлено в запись входа. |
ServerSPN |
- | Имя главного сервиса для SQL Server. Требуется только в нестандартных конфигурациях SPN. |
Протокол
| Parameter | Ценности | Description |
|---|---|---|
protocol |
tcp, np, lpc, admin |
транспортного протокола; См. Протоколы. |
pipe |
- | Названа трубная дорожка. Применяется только тогда, когда protocol=np. |
Всегда зашифровано
| Parameter | Default | Description |
|---|---|---|
columnencryption |
None | Настройте на true включение Always Encrypted. См. «Всегда зашифровано». |
Шифрование и TLS
| Parameter | Default | Description |
|---|---|---|
encrypt |
См. Общие параметры |
strict(TDS 8.0), true/mandatory,/falseoptional , . disable |
TrustServerCertificate |
Зависит от encrypt |
Пропускать проверку сертификата, когда true. По умолчанию — false когда encrypt указано и true когда encrypt опущено. Игнорируется, когда encrypt=strict. |
certificate |
None | Путь к файлу сертификатов PEM или DER для проверки цепочки сертификатов. |
serverCertificate |
None | Путь к файлу сертификатов PEM или DER для сравнения на уровне байтов (v1.5.0 и новее). |
hostnameincertificate |
None | Переопределить имя хоста, используемое при проверке сертификатов TLS. |
tlsmin |
None | Минимальная TLS-версия: 1.0, 1.1, 1.2, 1.3. |
Для подробного руководства по шифрованию см. раздел «Шифрование и сертификаты».
Флаги логов
Используйте log параметр для управления диагностическим выходом. Значения — это флаги битмасок, и их можно объединить, добавив целочисленные значения:
| Ценность | Description |
|---|---|
1 |
Ошибки лога |
2 |
Лог-сообщения |
4 |
Логовые ряды |
8 |
Логирование SQL-запросов |
16 |
Параметры журнала |
32 |
Лог-транзакции |
64 |
Информация о отладке логов |
128 |
Повторные попытки логов |
Пример: для регистрации ошибок и SQL-операторов установите log=9 (1 + 8).
Для получения дополнительной информации см. раздел «Логирование и диагностика».
Столбцы уникального идентификатора
Драйвер по умолчанию читает uniqueidentifier столбцы как необработанные массивы байтов. Чтобы получить стандартную строку в формате GUID, просканируйте в mssql.UniqueIdentifier вместо string или []byte. Драйвер не поддерживает автоматическое преобразование GUID через параметры соединения.
SessionInitSQL
SessionInitSQLне является параметром строка подключения. Настройте через 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)
Оператор SQL запускается сразу после установления каждого нового соединения, прежде чем соединение возвращается вызывающему.