Instale o driver go-mssqldb

O go-mssqldb driver é um módulo Go que se instala usando go get. Este artigo aborda os requisitos do sistema, passos de instalação e verificação.

Prerequisites

Componente Requisito
Go 1,25 ou mais tarde. Descarregue de go.dev/dl.
Plataforma Microsoft SQL Todas as versões suportadas da base de dados SQL Server, Base de Dados SQL do Azure, Azure SQL Managed Instance, SQL em Fabric, Fabric Data Warehouse ou Azure Synapse Analytics.
Suporte a módulos O seu projeto deve usar módulos Go (um go.mod ficheiro na raiz do projeto).

Instale o módulo do controlador

  1. Abre um terminal no diretório do teu projeto Go.

  2. Execute go get para descarregar o driver e as suas dependências:

    go get github.com/microsoft/go-mssqldb
    
  3. O comando atualiza automaticamente os teus ficheiros go.mod e go.sum.

Instalar pacotes opcionais

O driver tem pacotes opcionais para cenários específicos. Instale-os apenas quando precisar da funcionalidade correspondente.

Autenticação do Microsoft Entra ID

Instale este pacote para usar os tipos de credenciais Microsoft Entra ID (anteriormente Azure AD):

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

Este pacote regista um driver chamado azuresql que suporta todos os tipos de credenciais do Microsoft Entra ID. Para mais informações, consulte a autenticação do ID Microsoft Entra.

Always Encrypted - fornecedor do Azure Key Vault

Instale este pacote para usar o Azure Key Vault como armazenamento de chaves mestras da coluna:

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

Este pacote regista o fornecedor de chave mestra da coluna Azure Key Vault. Para obter mais informações, consulte Sempre criptografado.

Always Encrypted - fornecedor local de certificados

Instale este pacote para usar certificados locais ou ficheiros PFX como armazenamento de chave mestra de coluna:

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

Este pacote regista os fornecedores de chaves mestras de coluna de certificado local e de ficheiro PFX. Para obter mais informações, consulte Sempre criptografado.

Verifique a instalação

Crie um ficheiro com nome verify.go e cole o seguinte 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.")
}

Execute o arquivo:

go run verify.go

Se a saída mostrar Connected successfully., o driver está instalado e a funcionar.

Observação

O exemplo anterior utiliza autenticação integrada no Windows (trusted_connection=yes), que funciona apenas no Windows. No Linux ou no macOS, utilize a autenticação SQL, NTLM, Kerberos ou Microsoft Entra ID em vez disso. Para exemplos, veja Autenticação e Strings de Ligação.

Atualize o driver

Para atualizar para a versão mais recente:

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

Para atualizar para uma versão específica:

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

Após a atualização, execute go mod tidy para remover dependências indiretas não utilizadas.