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.
O driver resolve os pseudónimos nas tabelas seguintes apenas em cadeias de ligação em formato ADO . As cadeias de ligação em formato URL e ODBC correspondem exatamente aos nomes dos parâmetros, exceto pela maiúscula.
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 em segundos para a troca de login.
0 não aplica timeout à troca de login, mas a ligação inicial de rede é limitada separadamente por dial timeout. Prefiro contextos Go para os tempos de ligação e consultas. Para o Base de Dados SQL do Azure serverless com auto-pausa ativada, a primeira ligação a uma base de dados pausada falha com o erro 40613 enquanto a base de dados recomeça. Adiciona lógica de retentativas em vez de um tempo de espera mais longo. As bases de dados geralmente retomam em menos de um minuto. Para mais informações, veja Pausa automática e retomada automática. |
dial timeout |
- | 15 x protocol count |
O timeout da discagem de rede em segundos.
0 aplica o padrão de 15 segundos por protocolo registado em vez de esperar indefinidamente. |
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 | Aliases | 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. Um valor de 0 aplica o padrão de 30 segundos em vez de ser delegado ao sistema operativo. |
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 |
multi subnet failover |
true |
Comportamento de discagem quando o DNS resolve o host para múltiplos endereços IP. Quando true um DNS devolve múltiplos endereços, o driver disca todos os endpoints resolvidos em paralelo e utiliza a primeira ligação bem-sucedida. Quando o DNS devolve um único endereço, o driver disca-o sequencialmente, ficando true assim seguro em alvos de IP único. Mantém o padrão para ouvintes de grupos de disponibilidade, instâncias de cluster de failover e ouvintes de grupo de failover SQL do Azure. Este driver tem por defeito para true compatibilidade retroativa; outros drivers SQL da Microsoft têm por defeito .false |
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,false/optional , . 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.