Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece uma referência completa para todos os parâmetros de ligação aceites pelo go-mssqldb driver. Para a sintaxe do formato cadeia de ligação, veja Connection strings.
Parâmetros comuns
| Parâmetro | Aliases | Predefinição | Description |
|---|---|---|---|
user id |
user |
- | Nome de login do SQL Server. |
password |
- | - | Palavra-passe para o login do SQL Server. |
database |
- | - | Base de dados de alvos. |
connection timeout |
- | 0 |
Tempo limite de login em segundos.
0 espera indefinidamente. Prefiro contextos Go para os tempos de ligação e consultas. |
dial timeout |
- | 15 x protocol count |
O timeout da discagem de rede em segundos.
0 espera indefinidamente. O condutor utiliza por defeito 15 segundos conforme o protocolo registado. |
encrypt |
- | false |
Modo de encriptação. O SQL do Azure requer sempre encriptação do lado do servidor. Veja Encriptação e certificados. |
app name |
- | - | Nome da candidatura enviado no registo de login. |
authenticator |
- | - | Autenticador personalizado registado por pacotes externos como azuread. |
Servidor e port
Nos formatos ADO e ODBC, o servidor e a porta são parâmetros separados:
| Parâmetro | Predefinição | Description |
|---|---|---|
server |
localhost |
Nome do host do SQL Server, opcionalmente incluindo \instance. |
port |
1433 |
Número de porta TCP. |
No formato URL, especifique o host e a porta diretamente na URL: sqlserver://host:port.
Failover
| Parâmetro | Predefinição | Description |
|---|---|---|
failoverpartner |
- | Nome do servidor parceiro de failover. |
failoverpartnerspn |
- | Nome do Principal de Serviço (SPN) para o parceiro de failover. |
failoverport |
1433 |
Porta TCP para o parceiro de failover. |
Quando o servidor principal está inacessível, o driver tenta ligar-se automaticamente ao parceiro de failover.
Rede e desempenho
| Parâmetro | Predefinição | Description |
|---|---|---|
packet size |
4096 |
Tamanho do pacote TDS em bytes. Intervalo válido: 512-32767. |
keepAlive |
30 |
Intervalo para manter a vida em segundos.
0 usa o sistema operativo por defeito. |
TrustServerCertificate |
Depende de encrypt |
Quando true, salta a validação do certificado do servidor. O padrão é false quando encrypt é especificado e true quando encrypt é omitido. Ignorado quando encrypt=strict. Não recomendado para produção. |
multisubnetfailover |
- | Ative o failover multi-sub-redes para os Grupos de Disponibilidade AlwaysOn. |
Intenção do aplicativo
| Parâmetro | Values | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Declara se a aplicação se liga para operações de apenas leitura ou de leitura-escrita. Usado com o encaminhamento apenas leitura AlwaysOn. |
Estação de trabalho e SPN
| Parâmetro | Predefinição | Description |
|---|---|---|
Workstation ID |
- | Nome da estação de trabalho enviado no registo de login. |
ServerSPN |
- | Nome principal do serviço para o SQL Server. Exigido apenas em configurações SPN não padrão. |
Protocolo
| Parâmetro | Values | Description |
|---|---|---|
protocol |
tcp, np, lpc, admin |
Protocolo de transporte. Ver Protocolos. |
pipe |
- | Chamado caminho de cano. Só se aplica quando protocol=np. |
Sempre criptografado
| Parâmetro | Predefinição | Description |
|---|---|---|
columnencryption |
None | Definir para true ativar o Sempre Encriptado. Ver Sempre Encriptado. |
Encriptação e TLS
| Parâmetro | Predefinição | Description |
|---|---|---|
encrypt |
Ver Parâmetros comuns |
strict(TDS 8.0), true/mandatory,/falseoptional , . disable |
TrustServerCertificate |
Depende de encrypt |
Saltar a validação de certificados quando true. O padrão é false quando encrypt é especificado e true quando encrypt é omitido. Ignorado quando encrypt=strict. |
certificate |
None | Caminho para um ficheiro de certificado PEM ou DER para validação da cadeia de certificados. |
serverCertificate |
None | Caminho para um ficheiro de certificado PEM ou DER para comparação ao nível de bytes (v1.5.0 e posteriores). |
hostnameincertificate |
None | Substitua o nome do host usado durante a validação do certificado TLS. |
tlsmin |
None | Versão mínima TLS: 1.0, 1.1, 1.2, 1.3. |
Para orientações detalhadas sobre encriptação, consulte Encriptação e certificados.
Bandeiras de registo
Use o log parâmetro para controlar a saída de diagnóstico. Os valores são flags bitmask, e pode combiná-los somando os valores inteiros:
| Value | Description |
|---|---|
1 |
Erros de log |
2 |
Registrar mensagens |
4 |
Linhas logaritméticas |
8 |
Registar instruções SQL |
16 |
Parâmetros de log |
32 |
Transações de registo |
64 |
Informação de depuração de logs |
128 |
Retentativas de registo |
Exemplo: para registar erros e instruções SQL, definir log=9 (1 + 8).
Para mais informações, consulte Registo e diagnóstico.
colunas de identificador único
O driver lê uniqueidentifier colunas como arrays brutos de bytes por defeito. Para obter uma cadeia padrão formatada por GUID, varreça em mssql.UniqueIdentifier vez de string ou []byte. O driver não suporta conversão automática de GUID através dos parâmetros de ligação.
SessionInitSQL
SessionInitSQLnão é um parâmetro de cadeia de ligação. Defina através da NewConnectorConfig API:
import (
"database/sql"
"github.com/microsoft/go-mssqldb"
"github.com/microsoft/go-mssqldb/msdsn"
)
config := msdsn.Config{
Host: "<server>",
Port: 1433,
Database: "AdventureWorks2025",
}
connector := mssql.NewConnectorConfig(config)
connector.SessionInitSQL = "SET ANSI_NULLS ON"
db := sql.OpenDB(connector)
A instrução SQL executa-se imediatamente após cada nova ligação ser estabelecida, antes de a ligação ser devolvida ao chamador.