Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel listet die Schlüsselwörter für Verbindungsstrings und DSNs sowie Verbindungsattribute für SQLSetConnectAttr und SQLGetConnectAttrauf, die im ODBC-Treiber für SQL Server verfügbar sind.
Unterstützte DSN- und Verbindungszeichenfolge-Schlüsselwörter und Verbindungsattribute
Die folgende Tabelle listet die verfügbaren Schlüsselwörter und Attribute für jede Plattform auf (L: Linux; M: macOS; W: Windows). Wählen Sie das Schlüsselwort oder Attribut aus, um detailliertere Informationen zu erhalten.
Hier sind einige Verbindungszeichenfolge-Schlüsselwörter und Connection-Attribute, die in Using Connection String Keywords with SQL Server Native Client, SQLSetConnectAttr und SQLSetConnectAttr Function nicht dokumentiert sind.
BESCHREIBUNG
Beschreibt die Datenquelle.
SQL_COPT_SS_ANSI_OEM
Steuert die Konvertierung von Daten von ANSI in OEM.
| Attributwert | BESCHREIBUNG |
|---|---|
SQL_AO_OFF (Standardwert) |
Die Übersetzung ist noch nicht fertig. |
SQL_AO_ON |
Es erfolgt eine Übersetzung. |
SQL_COPT_SS_AUTOBEGINTXN
Ab Version 17.6: Wenn Autocommit deaktiviert ist, verwenden Sie diese Option, um das automatische COMMIT nach BEGIN TRANSACTION oder ROLLBACK zu steuern.
| Attributwert | BESCHREIBUNG |
|---|---|
SQL_AUTOBEGINTXN_ON (Standardwert) |
Automatisch BEGIN TRANSACTION nach ROLLBACK oder COMMIT. |
SQL_AUTOBEGINTXN_OFF |
Kein automatisches BEGIN TRANSACTION nach ROLLBACK oder COMMIT. |
SQL_COPT_SS_FALLBACK_CONNECT
Kontrolliert die Nutzung von SQL Server-Fallback-Verbindungen. Diese Option wird nicht mehr unterstützt.
| Attributwert | BESCHREIBUNG |
|---|---|
SQL_FB_OFF (Standardwert) |
Deaktiviert Rückfallverbindungen. |
SQL_FB_ON |
Ermöglicht Rückfallverbindungen. |
Neue Verbindungszeichenfolge-Schlüsselwörter und Verbindungsattribute
Authentifizierung – SQL_COPT_SS_AUTHENTICATION
Legt den Authentifizierungsmodus für die Verbindung mit SQL Server fest. Weitere Informationen finden Sie unter Verwenden von Microsoft Entra ID mit dem ODBC-Treiber).
| Schlüsselwortwert | Attributwert | BESCHREIBUNG |
|---|---|---|
SQL_AU_NONE (Standardwert) |
Nicht festgelegt. Die Kombination anderer Attribute bestimmt den Authentifizierungsmodus. | |
SqlPassword |
SQL_AU_PASSWORD |
SQL Server-Standardauthentifizierung mit Benutzername und Kennwort. |
ActiveDirectoryIntegrated |
SQL_AU_AD_INTEGRATED |
Integrierte Microsoft Entra-Authentifizierung. |
ActiveDirectoryInteractive |
SQL_AU_AD_INTERACTIVE |
Microsoft Entra interaktive Authentifizierung. |
ActiveDirectoryMsi |
SQL_AU_AD_MSI |
Microsoft Entra-Authentifizierung mit verwalteter Identität. Für eine benutzerseitig zugewiesene Identität wird UID auf die Objekt-ID der Benutzeridentität festgelegt. |
ActiveDirectoryServicePrincipal |
SQL_AU_AD_SPA |
Microsoft Entra-Authentifizierung mit Dienstprinzipal.
UID wird auf die Client-ID des Service Principal gesetzt.
PWD wird auf das Client-Secret gesetzt. |
ActiveDirectoryPassword |
SQL_AU_AD_PASSWORD |
[VERALTET] Microsoft Entra-Kennwortauthentifizierung.ActiveDirectoryPassword ist veraltet. Weitere Informationen finden Sie unter ActiveDirectoryPasswordist veraltet. |
SQL_AU_RESET |
Nicht festgelegt. Hat Vorrang vor jeder DSN- oder Verbindungszeichenfolgen-Einstellung. |
Hinweis
Wenn Sie das Schlüsselwort oder Attribut Authentication verwenden, geben Sie die Einstellung Encrypt in der Verbindungszeichenfolge, im DSN oder im Verbindungsattribut explizit mit dem gewünschten Wert an. Weitere Informationen finden Sie unter Using Connection String Keywords with SQL Server Native Client (Verwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit SQL Server Native Client).
ColumnEncryption – SQL_COPT_SS_COLUMN_ENCRYPTION
Steuert transparente Spaltenverschlüsselung (Always Encrypted). Weitere Informationen finden Sie unter Using Always Encrypted with the ODBC Driver for SQL Server (Verwenden von Always Encrypted mit dem ODBC Driver for SQL Server).
| Schlüsselwortwert | Attributwert | BESCHREIBUNG |
|---|---|---|
Enabled |
SQL_CE_ENABLED |
Aktiviert Always Encrypted. |
Disabled (Standardwert) |
SQL_CE_DISABLED |
Deaktiviert Always Encrypted. |
SQL_CE_RESULTSETONLY |
Aktiviert nur die Entschlüsselung (Ergebnisse und Rückgabewerte). |
ConcatNullYieldsNull - SQL_COPT_SS_CONCAT_NULL
Steuert die Verwendung der ISO-Behandlung von NULL beim Verketten von Zeichenfolgen. Weitere Informationen finden Sie unter SET CONCAT_NULL_YIELDS_NULL.
| Schlüsselwortwert | Attributwert | BESCHREIBUNG |
|---|---|---|
Yes (Standardwert) |
SQL_CN_ON |
NULL Konkatenation ergibt NULL. |
No |
SQL_CN_OFF |
NULL Verkettung ergibt eine Kette. |
Verschlüsseln
Gibt an, ob Verbindungen die TLS-Verschlüsselung über das Netzwerk verwenden. Mögliche Werte sind: yes/mandatory(18.0 und höher), no/optional(18.0 und höher) und strict(18.0 und höher). Der Standardwert ist yes in Version 18.0 und höher und no in früheren Versionen.
Unabhängig von der Einstellung für Encrypt werden die Anmeldeinformationen für den Server (Benutzername und Kennwort) immer verschlüsselt.
Die Encrypt, TrustServerCertificate, und serverseitigen Force Encryption Einstellungen bestimmen, ob Verbindungen über das Netzwerk verschlüsselt sind. Die folgenden Tabellen zeigen die Auswirkungen dieser Einstellungen.
ODBC-Treiber 18 und neuer
| Verschlüsselungseinstellung | TrustServerCertificate | Serververschlüsselung erzwingen | Ergebnis |
|---|---|---|---|
| Nein | Nein | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind nicht verschlüsselt. |
| Nein | Ja | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind nicht verschlüsselt. |
| Ja | Nein | Nein | Serverzertifikat wird überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Ja | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Nein | Nein | Ja | Serverzertifikat wird überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Nein | Ja | Ja | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Nein | Ja | Serverzertifikat wird überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Ja | Ja | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Strict | - | - |
TrustServerCertificate wird ignoriert. Serverzertifikat wird überprüft.Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
Hinweis
Der Wert Strict ist nur gegen Server verfügbar, die TDS-8.0-Verbindungen unterstützen.
ODBC-Treiber 17 und frühere Versionen
| Verschlüsselungseinstellung | TrustServerCertificate | Serververschlüsselung erzwingen | Ergebnis |
|---|---|---|---|
| Nein | Nein | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind nicht verschlüsselt. |
| Nein | Ja | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind nicht verschlüsselt. |
| Ja | Nein | Nein | Serverzertifikat wird überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Ja | Nein | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Nein | Nein | Ja | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Nein | Ja | Ja | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Nein | Ja | Serverzertifikat wird überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
| Ja | Ja | Ja | Das Serverzertifikat wird nicht überprüft. Zwischen dem Client und dem Server verschickte Daten sind verschlüsselt. |
TransparentNetworkIPResolution - SQL_COPT_SS_TNIR
Steuert die Funktion „Transparent Network IP Resolution“, einen Legacy-Fallback für mehrere IP-Adressen des ODBC-Treibers. Diese Einstellung wirkt sich nicht auf die Verbindungsreihenfolge aus, wenn MultiSubnetFailover=Yes aktiviert ist. Dies ist die empfohlene Einstellung für Azure SQL-Datenbank, Azure SQL Managed Instance, SQL-Datenbank in Microsoft Fabric, Verfügbarkeitsgruppenlistener und Failover-Cluster-Instanzen. Weitere Informationen finden Sie unter Verwenden der transparenten Netzwerk-IP-Auflösung mit dem ODBC-Treiber oder Hohe Verfügbarkeit und Notfallwiederherstellung.
| Schlüsselwortwert | Attributwert | BESCHREIBUNG |
|---|---|---|
Enabled (Standardwert) |
SQL_IS_ON |
Ermöglicht transparente Netzwerk-IP-Auflösung. |
Disabled |
SQL_IS_OFF |
Deaktiviert die transparente Netzwerk-IP-Adressauflösung. |
UseFMTONLY
Steuert die Verwendung von SET FMTONLY für Metadaten beim Herstellen einer Verbindung mit SQL Server 2012 und neueren Versionen.
| Schlüsselwortwert | BESCHREIBUNG |
|---|---|
No (Standardwert) |
Verwenden sp_describe_first_result_set Sie Metadaten, falls verfügbar. |
Yes |
Verwenden Sie SET FMTONLY für Metadaten. |
Replikation
Gibt die Verwendung einer Replikationsanmeldung für ODBC Driver 17.8 oder höher an
| Schlüsselwortwert | BESCHREIBUNG |
|---|---|
No (Standardwert) |
Der Replikations-Login wird nicht verwendet. |
Yes |
Trigger mit der Option NOT FOR REPLICATION werden bei dieser Verbindung nicht ausgelöst. |
RetryExec
Konfigurierbare Wiederholungslogik ist ab Version 18.1 verfügbar. Sie führt automatisch bestimmte ODBC-Funktionsaufrufe auf Grundlage konfigurierbarer Bedingungen erneut aus. Aktivieren Sie diese Funktion über den Verbindungszeichenfolge, indem Sie das RetryExec Schlüsselwort sowie eine Liste von Retry-Regeln verwenden. Jede Wiederholungsregel hat drei durch Doppelpunkte getrennte Komponenten: einen Fehlerabgleich, eine Wiederholungsrichtlinie und einen Abfrageabgleich.
Die Abfrageübereinstimmung bestimmt, welche Wiederholungsregel für eine gegebene Ausführung verwendet wird. Es entspricht dem eingehenden Befehlstext (SQLExecDirect) oder dem vorbereiteten Befehlstext im Statement-Objekt (SQLExecute). Wenn mehr als eine Regel übereinstimmt, wird die erste Übereinstimmungsregel der Liste verwendet. Dieses Verhalten erlaubt es dir, Regeln in der Reihenfolge der zunehmenden Allgemeingültigkeit aufzulisten. Wenn keine Regel übereinstimmt, wird kein erneuter Versuch angewendet.
Wenn die Ausführung zu einem Fehler führt und eine anwendbare Wiederholungsregel vorliegt, bestimmt deren Fehlerabgleich, ob die Ausführung wiederholt werden soll.
Der Wert des RetryExec Schlüsselworts ist eine Liste von semikolon-getrennten Wiederholungsregeln.
RetryExec={rule1;rule2}
Eine Wiederholungsregel lautet wie folgt: <errormatch>:<retrypolicy>:<querymatch>
Fehlerabgleich: Eine durch Kommas getrennte Liste von Fehlercodes. Wenn Sie beispielsweise
1000,2000angeben, werden die Fehlercodes aufgelistet, die Sie wiederholen möchten.Wiederholungspolitik: Legt die Verzögerung bis zum nächsten Versuch fest. Der erste Parameter ist die Anzahl der Wiederholungen, der zweite Parameter die Verzögerung. Zum Beispiel
3,10+7bedeutet drei Versuche, die bei 10 beginnen, und jeder folgende Versuch erhöht sich um 7 Sekunden. Wenn du nicht spezifizierst+7, verdoppelt sich jeder folgende Versuch exponentiell.Abfrageübereinstimmung: Gibt die Abfrage an, die abgeglichen werden soll. Wenn du nichts spezifizierst, gilt die Regel für alle Abfragen. Spezifizieren
SELECTbedeutet alle Abfragen, die mitSELECTbeginnen.
Alle drei Komponenten zur Verwendung in einer Verbindungszeichenfolge zusammenführen:
RetryExec={1000,2000:3,10+7:SELECT}
Diese Regel bedeutet: Für Fehler 1000 und 2000 bei einer Abfrage, die mit SELECTbeginnt, zweimal mit einer anfänglichen Verzögerung von 10 Sekunden versuchen und für jeden folgenden Versuch 7 Sekunden hinzufügen.
Beispiele
40501,40540:4,5
Bei Fehlern 40501 und 40540, versuche es bis zu viermal, mit einer Anfangsverzögerung von 5 Sekunden und exponentieller Verdopplung zwischen jedem Versuch. Diese Regel gilt für alle Abfragen.
49919:2,10+:CREATE
Bei einem Fehler 49919 bei einer Abfrage, die mit CREATEbeginnt, versuchen Sie es höchstens zweimal, zunächst nach 10 Sekunden und dann 20 Sekunden.
49918,40501,10928:5,10+5:SELECT c1
Bei Fehlern 49918, 40501, und 10928 bei Abfragen, die mit SELECT c1beginnen, wird bis zu fünfmal erneut versucht, beim ersten Versuch 10 Sekunden gewartet und die Wartezeit danach um 5 Sekunden erhöht.
Spezifizieren Sie die vorherigen drei Regeln zusammen im Verbindungszeichenfolge wie folgt:
RetryExec={49918,40501,10928:5,10+5:SELECT c1;49919:2,10+:CREATE;40501,40540:4,5}
Setze die allgemeinste (Match-All-)Regel am Ende, damit die beiden spezifischeren Regeln davor mit ihren jeweiligen Fragen übereinstimmen.
Clientzertifikat
Spezifiziert das Zertifikat für die Authentifizierung mit Loopback-Verbindungen. Diese Option ist nur im SQL Server für Linux verfügbar. Die Optionen sind:
| Optionswert | BESCHREIBUNG |
|---|---|
sha1:<hash_value> |
Der ODBC-Treiber verwendet den SHA1-Hash, um ein Zertifikat im Windows Certificate Store zu finden. |
subject:<subject> |
Der ODBC-Treiber verwendet das Subjekt, um ein Zertifikat im Windows Certificate Store zu finden. |
file:<file_location>[,password:<password>] |
Der ODBC-Treiber verwendet eine Zertifikatsdatei. |
Wenn das Zertifikat im Format PFX ist und der private Schlüssel im Zertifikat PFX passwortgeschützt ist, fügen Sie das password Schlüsselwort hinzu. Für Zertifikate in PEM und DER Formaten fügen Sie das Attribut ClientKey hinzu.
ClientKey
Spezifiziert den Dateistandort des privaten Schlüssels für PEM oder DER der durch das Attribut ClientCertificate angegebenen Zertifikate. Format:
| Optionswert | BESCHREIBUNG |
|---|---|
file:<file_location>[,password:<password>] |
Gibt den Speicherort der privaten Schlüsseldatei an. |
Wenn die private Schlüsseldatei passwortgeschützt ist, fügen Sie das Schlüsselwort password hinzu. Wenn das Passwort Zeichen , enthält, fügen Sie sofort nach jedem Zeichen ein zusätzliches , Zeichen hinzu. Zum Beispiel, wenn das Passwort ista,b,c, ist a,,b,,cdas entkommene Passwort im Verbindungszeichenfolge .
Hostname im Zertifikat
Spezifiziert den Hostnamen, den im Serverzertifikat zu erwarten ist, wenn die Verschlüsselung verhandelt wird, falls er sich vom Standardwert unterscheidet, der aus Addr, Address, oder Serverabgeleitet ist. Die HostnameInCertificate Option wird ignoriert, wenn du die ServerCertificate Option benutzt.
IpAddressPreference
Ab Version 18.1 verwenden Sie diese Option, um den Typ der IP-Adresse anzugeben, die für Verbindungen priorisiert werden soll.
Die möglichen Optionen sind IPv4First, IPv6First, und UsePlatformDefault.
UsePlatformDefault verbindet sich mit Adressen in der Reihenfolge, in der sie vom Systemaufruf bereitgestellt werden, um den Servernamen zu lösen. Der Standardwert ist IPv4First, was dem Verhalten in früheren Versionen entspricht.
Serverzertifikat
Ab Version 18.1 verwenden Sie diese Option im strengen Verschlüsselungsmodus. Verwenden Sie das ServerCertificate Schlüsselwort, um den Pfad zu einer Zertifikatsdatei anzugeben, der mit dem SQL Server TLS/SSL-Zertifikat abgeglichen wird. Das Matching erfolgt anstelle der Standard-Zertifikatsvalidierung (Ablaufdatum, Hostname, Vertrauenskette usw.). Die akzeptierten Zertifikatformate sind PEM, DER und CER. Wenn Sie diese Option angeben, wird das SQL Server-Zertifikat überprüft, indem geprüft wird, ob das ServerCertificate bereitgestellte Zertifikat genau übereinstimmt.
SQL_COPT_SS_ACCESS_TOKEN
Verwenden Sie ein Microsoft Entra-Zugangstoken zur Authentifizierung. Weitere Informationen finden Sie unter Verwenden von Microsoft Entra ID mit dem ODBC-Treiber).
| Attributwert | BESCHREIBUNG |
|---|---|
NULL (Standardwert) |
Kein Zugangstoken wird bereitgestellt. |
ACCESSTOKEN* |
Zeiger auf ein Access-Token. |
SQL_COPT_SS_CEKEYSTOREDATA
Kommuniziert mit einer geladenen Keystore-Anbieterbibliothek. Steuert transparente Spaltenverschlüsselung (Always Encrypted). Dieses Attribut hat keinen Standardwert. Weitere Informationen finden Sie unter Benutzerdefinierte Keystore-Anbieter.
| Attributwert | BESCHREIBUNG |
|---|---|
CEKEYSTOREDATA * |
Kommunikationsdatenstruktur für die Keystore-Anbieterbibliothek |
SQL_COPT_SS_CEKEYSTOREPROVIDER
Lädt eine Keystore-Anbieterbibliothek für Always Encrypted oder ruft die Namen der geladenen Keystore-Anbieterbibliotheken ab. Weitere Informationen finden Sie unter Benutzerdefinierte Keystore-Anbieter. Dieses Attribut hat keinen Standardwert.
| Attributwert | BESCHREIBUNG |
|---|---|
char * |
Pfad zur Keystore-Anbieterbibliothek |
SQL_COPT_SS_ENLIST_IN_XA
Um XA-Transaktionen mit einem XA-konformen Transaction Processor (TP) zu aktivieren, muss die Anwendung SQL_COPT_SS_ENLIST_IN_XA mit XACALLPARAM und einem Zeiger auf ein SQLSetConnectAttr-Objekt aufrufen. Diese Option wird unter Windows (17.3 oder höher), Linux und macOS unterstützt.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, param, SQL_IS_POINTER); // XACALLPARAM *param
Um eine XA-Transaktion nur mit einer ODBC-Verbindung zu verknüpfen, geben Sie beim Aufruf von TRUESQLSetConnectAttr oder FALSE mit SQL_COPT_SS_ENLIST_IN_XA anstelle des Zeigers an. Diese Einstellung ist nur unter Windows gültig und kann nicht dazu verwendet werden, um XA-Vorgänge über eine Clientanwendung anzugeben.
SQLSetConnectAttr(hdbc, SQL_COPT_SS_ENLIST_IN_XA, (SQLPOINTER)TRUE, 0);
| Wert | BESCHREIBUNG | Plattformen |
|---|---|---|
XACALLPARAM Objekt* |
Der Zeiger auf das XACALLPARAM-Objekt. |
Windows, Linux und macOS |
TRUE |
Ordnet die XA-Transaktion der ODBC-Verbindung zu. Alle entsprechenden Datenbankaktivitäten werden unter dem Schutz der XA-Transaktion durchgeführt. | Windows |
FALSE |
Löst die Zuordnung der Transaktion zur ODBC-Verbindung. | Windows |
Weitere Informationen zu XA-Transaktionen finden Sie unter Verwenden von XA-Transaktionen.
SQL_COPT_SS_LONGASMAX
Sendet lange Datentypen als maximale Datentypen an Server.
| Attributwert | BESCHREIBUNG |
|---|---|
No (Standardwert) |
Konvertiere lange Typen beim Senden nicht in maximale Typen. |
Yes |
Konvertiere Daten beim Senden von langen Typen in maximale Typen. |
SQL_COPT_SS_SPID
Ruft die Sitzungs-ID der Verbindung ab. Diese Eigenschaft entspricht der T-SQL-Variablen @@SPID, mit dem Unterschied, dass kein zusätzlicher Roundtrip zum Server erfolgt.
| Attributwert | BESCHREIBUNG |
|---|---|
DWORD |
SPID |