Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit une référence complète pour tous les paramètres de connexion acceptés par le go-mssqldb pilote. Pour la syntaxe du format chaîne de connexion, voir Chaînes de connexion.
Le pilote ne résout les alias dans les tables suivantes qu’avec des chaînes de connexion au format ADO . Les chaînes de connexion au format URL et ODBC correspondent exactement aux noms des paramètres, à l’exception du casing (casing).
Paramètres courants
| Paramètre | Aliases | Par défaut | Description |
|---|---|---|---|
user id |
user |
- | Nom de connexion SQL Server. |
password |
- | - | Mot de passe pour la connexion SQL Server. |
database |
- | - | Base de données cible. |
connection timeout |
- | 0 |
Délai d’arrêt en quelques secondes pour l’échange de connexion.
0 n’applique aucun délai d’expiration à l’échange de connexion, mais la connexion réseau initiale est délimitée séparément par dial timeout. Je préfère les contextes Go pour les délais de connexion et de requête. Pour Azure SQL Database sans serveur avec l’auto-pause activée, la première connexion à une base de données mise en pause échoue avec l’erreur 40613 pendant que la base de données reprend. Ajoutez une logique de réessaisis plutôt qu’un délai d’attente plus long. Les bases de données reprennent généralement en moins d’une minute. Pour plus d’informations, voir Mise en pause automatique et reprise automatique. |
dial timeout |
- | 15 x protocol count |
Délai d’expiration de la composition réseau en quelques secondes.
0 applique le principe par défaut de 15 secondes par protocole enregistré plutôt que d’attendre indéfiniment. |
encrypt |
- | false |
Mode chiffrement. Azure SQL nécessite toujours un chiffrement côté serveur. Voir Chiffrement et certificats. |
app name |
- | - | Nom de la demande envoyé dans l’enregistrement de connexion. |
authenticator |
- | - | Authentificateur personnalisé enregistré par des packages externes tels que azuread. |
Serveur et port
Aux formats ADO et ODBC, le serveur et le port sont des paramètres distincts :
| Paramètre | Par défaut | Description |
|---|---|---|
server |
localhost |
Nom d’hôte SQL Server, incluant \instanceoptionnellement . |
port |
1433 |
Numéro de port TCP. |
Au format URL, spécifiez l’hôte et le port directement dans l’URL : sqlserver://host:port.
Failover
| Paramètre | Par défaut | Description |
|---|---|---|
failoverpartner |
- | Nom d’hôte du serveur partenaire de basculement. |
failoverpartnerspn |
- | Nom principal de service (SPN) pour le partenaire de basculement. |
failoverport |
1433 |
Port TCP pour le partenaire de basculement. |
Lorsque le serveur principal est injoignable, le pilote tente de se connecter automatiquement au partenaire de basculement.
Réseau et performances
| Paramètre | Aliases | Par défaut | Description |
|---|---|---|---|
packet size |
- | 4096 |
Taille du paquet TDS en octets. Plage valide : 512-32767. |
keepAlive |
- | 30 |
Intervalle de maintien en vie en quelques secondes. Une valeur de 0 applique le défaillance de 30 secondes par défaut plutôt que de se remettre au système d’exploitation. |
TrustServerCertificate |
- | Dépend de encrypt |
Lorsque true, saute la validation des certificats serveur. Le principe par défaut est false lorsque encrypt est spécifié et true quand encrypt est omis. Ignoré si encrypt=strict. Non recommandé pour la production. |
multisubnetfailover |
multi subnet failover |
true |
Comportement de composition lorsque le DNS résout l’hôte à plusieurs adresses IP. Lorsque true DNS renvoie plusieurs adresses, le pilote compose tous les points de terminaison résolus en parallèle et utilise la première connexion réussie. Lorsque le DNS renvoie une seule adresse, le pilote la compose séquentiellement, ce true qui le rend sûr sur les cibles IP uniques. Gardez les paramètres par défaut pour les écouteurs de groupes de disponibilité, les instances de cluster de basculement et les écouteurs de groupes de basculement Azure SQL. Ce pilote est par true défaut pour la rétrocompatibilité ; les autres pilotes SQL de Microsoft utilisent par falsedéfaut . |
Intention de l’application
| Paramètre | Values | Description |
|---|---|---|
ApplicationIntent |
ReadOnly, ReadWrite |
Déclare si l’application se connecte pour des opérations en lecture seule ou en lecture-écriture. Utilisé avec le routage en lecture seule AlwaysOn. |
Station de travail et SPN
| Paramètre | Par défaut | Description |
|---|---|---|
Workstation ID |
- | Le nom de la station de travail a été envoyé dans l’enregistrement de connexion. |
ServerSPN |
- | Nom principal de service pour le SQL Server. Obligatoire uniquement dans les configurations SPN non par défaut. |
Protocole
| Paramètre | Values | Description |
|---|---|---|
protocol |
tcp, np, lpc, admin |
Protocole de transport Voir protocoles. |
pipe |
- | Un chemin de tuyau nommé. Ne s’applique que lorsque protocol=np. |
Toujours Chiffré
| Paramètre | Par défaut | Description |
|---|---|---|
columnencryption |
None | Réglez sur true Toujours Chiffré. Voir toujours chiffré. |
Chiffrement et TLS
| Paramètre | Par défaut | Description |
|---|---|---|
encrypt |
Voir Paramètres communs |
strict(TDS 8.0), true/mandatory,false/optional , . disable |
TrustServerCertificate |
Dépend de encrypt |
Sauter la validation des certificats lorsque true. Le principe par défaut est false lorsque encrypt est spécifié et true quand encrypt est omis. Ignoré si encrypt=strict. |
certificate |
None | Chemin vers un fichier de certificat PEM ou DER pour la validation de la chaîne de certificats. |
serverCertificate |
None | Chemin vers un fichier de certificat PEM ou DER pour la comparaison au niveau d’octets (v1.5.0 et versions ultérieures). |
hostnameincertificate |
None | Suppliez le nom d’hôte utilisé lors de la validation du certificat TLS. |
tlsmin |
None | Version TLS minimale : 1.0, 1.1, 1.2, 1.3. |
Pour des conseils détaillés sur le chiffrement, voir Chiffrement et certificats.
Drapeaux de journal
Utilisez ce log paramètre pour contrôler la sortie diagnostique. Les valeurs sont des drapeaux bitmask, et vous pouvez les combiner en ajoutant les valeurs entières :
| Valeur | Description |
|---|---|
1 |
Erreurs de journalisation |
2 |
Messages des journaux |
4 |
Lignes de dialogisme |
8 |
Journaliser les instructions SQL |
16 |
Journaliser des paramètres |
32 |
Transactions de journal |
64 |
Informations de débogage des journaux |
128 |
Essais de logarisme |
Exemple : pour enregistrer les erreurs et les instructions SQL, posez log=9 (1 + 8).
Pour plus d’informations, voir Journalisation et diagnostic.
colonnes uniqueidentifiable
Le pilote lit uniqueidentifier par défaut les colonnes sous forme de tableaux d’octets bruts. Pour obtenir une chaîne standard formatée par GUID, scannez en mssql.UniqueIdentifier lieu de string ou []byte. Le pilote ne prend pas en charge la conversion automatique du GUID via les paramètres de connexion.
SessionInitSQL
SessionInitSQLn'est pas un paramètre de chaîne de connexion. Configurez-le via l’API NewConnectorConfig :
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)
L’instruction SQL s’exécute immédiatement après l’établissement de chaque nouvelle connexion, avant que la connexion ne soit renvoyée à l’appelant.