Instala el controlador go-mssqldb

El go-mssqldb controlador es un módulo Go que se instala usando go get. Este artículo cubre los requisitos del sistema, los pasos de instalación y la verificación.

Prerrequisitos

Componente Requirement
Go 1,25 o posterior. Descargar desde go.dev/dl.
Plataforma Microsoft SQL Todas las versiones compatibles de bases de datos SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL en Fabric, Fabric Data Warehouse o Azure Synapse Analytics.
Soporte de módulos Tu proyecto debe usar módulos Go (un go.mod archivo en la raíz del proyecto).

Instala el módulo controlador

  1. Abre un terminal en el directorio de proyectos de Go.

  2. Ejecuta go get para descargar el controlador y sus dependencias:

    go get github.com/microsoft/go-mssqldb
    
  3. El comando actualiza automáticamente tus go.mod archivos y go.sum archivos.

Instalar paquetes opcionales

El controlador tiene paquetes opcionales para escenarios específicos. Instálalos solo cuando necesites la función correspondiente.

Autenticación de Microsoft Entra ID

Instala este paquete para usar tipos de credenciales de Microsoft Entra ID (anteriormente Azure AD):

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

Este paquete registra un controlador llamado azuresql que soporta todos los tipos de credenciales de Microsoft Entra ID. Para obtener más información, consulte Autenticación de Id. de Microsoft Entra.

Always Encrypted - Proveedor de Azure Key Vault

Instala este paquete para usar Azure Key Vault como almacén de claves maestras de columna:

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

Este paquete registra el proveedor de clave maestra de la columna Azure Key Vault. Para obtener más información, consulte Always Encrypted.

Always Encrypted - proveedor local de certificados

Instala este paquete para usar certificados locales o archivos PFX como almacenamiento de clave maestra de columna:

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

Este paquete registra los proveedores locales de claves maestras de columna para certificados y archivos PFX. Para obtener más información, consulte Always Encrypted.

Comprobación de la instalación

Crea un archivo con nombre verify.go y pega el siguiente código:

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.")
}

Ejecute el archivo:

go run verify.go

Si la salida muestra Connected successfully., el controlador está instalado y funcionando.

Note

El ejemplo anterior utiliza autenticación integrada de Windows (trusted_connection=yes), que solo funciona en Windows. En Linux o macOS, usa autenticación SQL, NTLM, Kerberos o Microsoft Entra ID en su lugar. Para ejemplos, véase Autenticación y cadenas de conexión.

Actualiza el controlador

Para actualizar a la versión más reciente:

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

Para actualizar a una versión específica:

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

Tras actualizar, ejecuta go mod tidy para eliminar dependencias indirectas no utilizadas.