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 ファイル)を使用しなければなりません。 |
ドライバーモジュールを取り付けてください
Goプロジェクトのディレクトリでターミナルを開いてください。
ドライバーと依存関係をダウンロードするには
go getを実行してください:go get github.com/microsoft/go-mssqldbこのコマンドは自動的に
go.modとgo.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 を実行してください。