安裝 go-mssqldb 驅動程式

go-mssqldb驅動程式是一個 Go 模組,你可以用 go get安裝。 本文將介紹系統需求、安裝步驟及驗證。

Prerequisites

組件 Requirement
Go 1.25 或更新版本。 從 go.dev/dl 下載。
Microsoft SQL 平台 下列各項的所有支援版本:SQL Server、Azure SQL Database、Azure SQL 受控執行個體、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

此套件註冊一個名為azuresql驅動程式的驅動程式,支援所有 Microsoft Entra ID 憑證類型。 欲了解更多資訊,請參閱 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 S 的檔案,並貼上以下程式碼:

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 以移除未使用的間接相依。