go-mssqldb ドライバーをインストールしてください

go-mssqldbドライバーはgo getを使ってインストールするGoモジュールです。 この記事では、システム要件、設置手順、検証について説明します。

前提条件

コンポーネント Requirement
Go 1.25 以降。 go.dev/dl からダウンロード。
Microsoft SQL プラットフォーム SQL Server、Azure SQL Database、Azure SQL Managed Instance、Fabric の SQL データベース、Fabric Data Warehouse、または Azure Synapse Analytics のサポートされているすべてのバージョン。
モジュールサポート プロジェクトは Goモジュール (プロジェクトルート内の go.mod ファイル)を使用しなければなりません。

ドライバーモジュールを取り付けてください

  1. Goプロジェクトのディレクトリでターミナルを開いてください。

  2. ドライバーと依存関係をダウンロードするには go get を実行してください:

    go get github.com/microsoft/go-mssqldb
    
  3. このコマンドは自動的に go.modgo.sum ファイルを更新します。

オプションパッケージのインストール

ドライバーには特定のシナリオ向けのオプションパッケージがあります。 対応する機能が必要な時だけインストールしてください。

Microsoft Entra ID 認証

Microsoft Entra ID(旧称 Azure AD)の資格情報の種類を使用するには、このパッケージをインストールします:

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

このパッケージはすべてのMicrosoft Entra ID認証情報タイプをサポートするazuresqlドライバを登録します。 詳細については、「 Microsoft Entra ID 認証」を参照してください。

Always Encrypted - Azure Key Vault プロバイダー

このパッケージをインストールして、Azure Key Vaultをカラムマスターキーストアとして使用してください:

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

このパッケージはAzure Key Vaultの列マスターキープロバイダーを登録します。 詳細については、「 Always Encrypted」を参照してください。

Always Encrypted - ローカル証明書提供者

このパッケージをインストールして、ローカル証明書またはPFXファイルをカラムマスターキーストアとして使用します:

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

このパッケージはローカル証明書およびPFXファイルの列マスターキー提供者を登録します。 詳細については、「 Always Encrypted」を参照してください。

インストールを確認する

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

前述の例では統合認証(Windowstrusted_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 を実行してください。