Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Abre un terminal en el directorio de proyectos de Go.
Ejecuta
go getpara descargar el controlador y sus dependencias:go get github.com/microsoft/go-mssqldbEl comando actualiza automáticamente tus
go.modarchivos ygo.sumarchivos.
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.