Установите драйвер go-mssqldb

Драйвер go-mssqldb — это модуль Go, который вы устанавливаете с помощью go get. В этой статье рассматриваются требования к системе, этапы установки и проверка.

Предпосылки

Компонент Requirement
Go 1,25 или позже. Скачайте с go.dev/dl.
платформа Microsoft SQL Все поддерживаемые версии SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure, SQL базы данных в Fabric, Fabric Data Warehouse или Azure Synapse Analytics.
Поддержка модулей Ваш проект должен использовать модули Go (файл go.mod в корень проекта).

Установите драйверный модуль

  1. Откройте терминал в вашем каталоге проектов Go.

  2. Запустите go get , чтобы скачать драйвер и его зависимости:

    go get github.com/microsoft/go-mssqldb
    
  3. Команда автоматически обновляет ваши файлы go.mod и go.sum.

Установка дополнительных пакетов

У драйвера есть опциональные пакеты для конкретных сценариев. Устанавливайте их только тогда, когда нужна соответствующая функция.

Проверка подлинности идентификатора Microsoft Entra

Установите этот пакет для использования типов учетных данных Microsoft Entra ID (ранее Azure AD):

go get github.com/microsoft/go-mssqldb/azuread

Этот пакет регистрирует драйвер с именемazuresql, поддерживающий все типы учетных данных Microsoft Entra ID. Дополнительные сведения см. в разделе проверки подлинности Идентификатора Microsoft Entra.

Always Encrypted — поставщик Azure Key Vault

Установите этот пакет, чтобы использовать Azure Key Vault в качестве хранилища главных ключей столбцов:

go get github.com/microsoft/go-mssqldb/aecmk/akv

Этот пакет регистрирует поставщик главного ключа столбца Azure Key Vault. Дополнительные сведения см. в разделе Постоянное шифрование.

Always Encrypted — поставщик локальных сертификатов

Установите этот пакет для использования локальных сертификатов или PFX-файлов в качестве хранилища главных ключей столбцов:

go get github.com/microsoft/go-mssqldb/aecmk/localcert

Этот пакет регистрирует локальные поставщики мастер-ключей для столбцов сертификатов и PFX-файлов. Дополнительные сведения см. в разделе Постоянное шифрование.

Проверка установки

Создайте файл с именем verify.go и вставьте следующий код:

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/microsoft/go-mssqldb"
)

func main() {
    connString := "sqlserver://<server>?database=AdventureWorks2025&trusted_connection=yes"
    db, err := sql.Open("sqlserver", connString)
    if err != nil {
        log.Fatal("Error creating connection: ", err.Error())
    }
    defer db.Close()

    err = db.Ping()
    if err != nil {
        log.Fatal("Error pinging database: ", err.Error())
    }

    fmt.Println("Connected successfully.")
}

Запустите файл:

go run verify.go

Если на выходе отображается Connected successfully., драйвер установлен и работает.

Note

В предыдущем примере используется интегрированная аутентификация Windows (trusted_connection=yes), которая работает только на Windows. На Linux или macOS используйте SQL-аутентификацию, NTLM, Kerberos или Microsoft Entra ID. Примеры см. в разделах Проверка подлинности и Строки подключения.

Улучшить драйвер

Чтобы выполнить обновление до последней версии, выполните следующие действия.

go get -u github.com/microsoft/go-mssqldb

Чтобы обновиться до конкретной версии:

go get github.com/microsoft/go-mssqldb@v1.10.0

После обновления запустите go mod tidy , чтобы убрать неиспользуемые косвенные зависимости.