go-mssqldb 驱动程序是一个可使用 go get 安装的 Go 模块。 本文涵盖了系统需求、安装步骤和验证。
先决条件
| 组件 | Requirement |
|---|---|
| Go | 1.25 或更高版本。 从 go.dev/dl 下载。 |
| Microsoft SQL 平台 | 所有受支持的 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、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
该包注册了一个名为 azuresql 的驱动程序,该驱动程序支持所有 Microsoft Entra ID 凭据类型。 有关详细信息,请参阅 Microsoft Entra ID 身份验证。
始终加密 - Azure 密钥保管库提供程序
安装此包以使用 Azure 密钥保管库 作为列主密钥存储:
go get github.com/microsoft/go-mssqldb/aecmk/akv
此程序包注册 Azure 密钥保管库列主密钥提供程序。 有关详细信息,请参阅 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.,驱动已安装并正常工作。
注释
前例使用了 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 以移除未使用的间接依赖。