Funktionen von Microsoft ODBC Driver for SQL Server on Windows

ODBC-Treiber herunterladen

Microsoft ODBC Driver 18.0 for SQL Server unter Windows

Der ODBC Driver 18.0 ermöglicht Benutzern, long-Datentypen als max-Datentypen zu senden, indem sie das Schlüsselwort LongAsMax verwenden, um die Einstellung ein- oder auszuschalten. Wenn aktiviert, werden die SQL-Typen SQL_LONGVARCHAR, SQL_LONGVARBINARY und SQL_LONGWVARCHAR als varchar(max), varbinary(max) und nvarchar(max) anstelle von text, image bzw. ntext gesendet.

Die Standardeinstellungen für die Verbindungsverschlüsselung wurden geändert. Der Standardwert von Encrypt ist jetzt „Ja“, und die neuen Schlüsselwörter Optional und Mandatory wurden als Synonyme für „Nein“ bzw. „Ja“ eingeführt. Für das Herstellen einer Verbindung mit dem TDS 8.0-Protokoll wurde der Strict-Modus (Encrypt=Strict) hinzugefügt. In diesem Modus wird das Serverzertifikat immer überprüft (TrustServerCertificate wird ignoriert). Das neue Schlüsselwort HostnameInCertificate kann verwendet werden, um den erwarteten Hostnamen anzugeben, der im Zertifikat gefunden wird, wenn er sich vom angegebenen Server unterscheidet. HostnameInCertificate kann in allen Verschlüsselungsmodi verwendet werden und ist auch anwendbar, wenn die serverseitige Force Encryption-Option aktiviert ist, was den Treiber veranlasst, das Zertifikat im Modus Optional oder Mandatory zu überprüfen, es sei denn, er wird mit TrustServerCertificate deaktiviert.

Der ODBC Driver 18 enthält SQLGetData-Erweiterungen. Wenn aktiviert, kann SQLGetData verwendet werden, um Spaltendaten in beliebiger Reihenfolge einschließlich rückwärts innerhalb einer Zeile abzurufen. Das Feature wird zu Kompatibilitätszwecken bereitgestellt, beeinträchtigt die Leistung erheblich und erhöht die Speicherauslastung. Es wird dringend empfohlen, dass die Anwendung immer in aufsteigender Reihenfolge auf die Spalten zugreift. Um SQLGetData-Erweiterungen zu aktivieren, können Sie entweder das GetDataExtensions-Verbindungszeichenfolgenattribut oder die SQLSetConnectAttr-Funktion verwenden, um SQL_COPT_SS_GETDATA_EXTENSIONS auf SQL_EN_ON zu setzen.

Die Unterstützung für Windows ARM64 ist ab ODBC Driver 18.2 enthalten und ist derzeit eine Vorschauversion. Der ARM64-Treiber ist nur für 64-Bit-ARM64-Anwendungen vorgesehen und umfasst keine 32-Bit-ARM- oder x86/amd64-Emulationstreiber.

Microsoft ODBC Driver 17.4 for SQL Server unter Windows

Der ODBC Driver 17.4 bietet die Möglichkeit, Keep-Alive-Einstellungen für TCP anzupassen. Diese können durch Hinzufügen von Werten zu den Registrierungsschlüsseln für Treiber oder DSN geändert werden. Die Schlüssel befinden sich für Systemdatenquellen in HKEY_LOCAL_MACHINE\Software\ODBC\ und für Benutzerdatenquellen in HKEY_CURRENT_USER\Software\ODBC\. Für DSN müssen die Werte zu ...\Software\ODBC\ODBC.INI\<DSN Name> hinzugefügt werden und für den Treiber zu ...\Software\ODBC\ODBCINST.INI\ODBC Driver 17 for SQL Server.

Weitere Informationen finden Sie unter Registrierungseinträge für ODBC-Komponenten.

Die REG_SZ-Werte lauten wie folgt:

  • KeepAlive steuert, wie häufig TCP ein keep-alive-Paket sendet, um zu überprüfen, ob eine Verbindung im Leerlauf noch reagiert. Der Standardwert ist 30 Sekunden.

  • KeepAliveInterval bestimmt das Intervall, das zwischen den erneuten Übertragungen von „keep-alive“ liegt, bis eine Antwort empfangen wird. Der Standardwert beträgt 1 Sekunde.

Microsoft ODBC Driver 13.1 for SQL Server unter Windows

Der ODBC Driver 13.1 for SQL Server enthält alle Funktionen der vorherigen Version (11). Außerdem kommt die Unterstützung von Always Encrypted und Authentifizierung mit Microsoft Entra ID (ehemals Azure Active Directory) hinzu.

„Immer verschlüsselt“ ermöglicht es Clients, sensible Daten in Clientanwendungen zu verschlüsseln und die Verschlüsselungsschlüssel niemals an SQL Server weiterzugeben. Ein auf dem Clientcomputer installierter Treiber, bei dem Always Encrypted aktiviert ist, erreicht diese Sicherheit durch die automatische Ver- und Entschlüsselung von sensiblen Daten in der SQL Server-Clientanwendung. Der Treiber verschlüsselt die Daten in vertraulichen Spalten, bevor die Daten an SQL Server übergeben werden. Außerdem werden Abfragen automatisch neu geschrieben, damit die Semantik der Anwendung beibehalten wird. Auf ähnliche Weise entschlüsselt der Treiber transparent Daten in verschlüsselten Datenbankspalten, die in Abfrageergebnissen enthalten sind. Weitere Informationen finden Sie unter Using Always Encrypted with the ODBC Driver (Verwenden von Always Encrypted mit dem ODBC-Treiber).

Microsoft Entra ID ermöglicht Benutzern, DBAs und Anwendungsprogrammierern die Verwendung der Microsoft Entra-Authentifizierung. Weitere Informationen finden Sie unter Verwenden von Microsoft Entra ID mit dem ODBC-Treiber und Herstellen einer Verbindung mit Azure SQL oder Azure Synapse Analytics unter Verwendung der Microsoft Entra-Authentifizierung.

Microsoft ODBC Driver 11 für SQL Server unter Windows

Der ODBC-Treiber für SQL Server enthält die gesamte Funktionalität des SQL Server Native Client ODBC-Treibers, der im Lieferumfang von SQL Server 2012 (11.x)enthalten ist. Weitere Informationen zu SQL Native Client finden Sie unter Programmieren mit SQL Server Native Client. Der SQL Server Native Client ODBC-Treiber basiert auf dem ODBC-Treiber, der im Lieferumfang des Betriebssystems von Windows enthalten ist. Weitere Informationen zum Treiber finden Sie unter Windows Data Access Components SDK.

Diese Version des ODBC-Treibers für SQL Server enthält die folgenden neuen Features:

bcp.exe -l – Option zur Angabe eines Anmeldetimeouts

Die Option „-I“ gibt an, wie viele Sekunden beim Herstellen einer Verbindung mit einem Server verstreichen dürfen, bevor für eine bcp.exe-Anmeldung bei SQL Server ein Timeout eintritt. Das Standardanmeldetimeout beträgt 15 Sekunden. Der Timeoutwert für den Anmeldungszeitraum muss eine Zahl zwischen 0 und 65534 sein. Wenn der angegebene Wert kein numerischer Wert ist oder außerhalb dieses Bereichs liegt, generiert bcp.exe eine Fehlermeldung. Der Wert 0 gibt ein unendliches Timeout an. Ein Anmeldungstimeout von weniger als (ungefähr) zehn Sekunden ist nicht zuverlässig.

Treiberfähiges Verbindungspooling

Der ODBC Driver for SQL Server unterstützt treiberfähiges Verbindungspooling. Weitere Informationen finden Sie unter Driver-Aware Connection Pooling in the ODBC Driver for SQL Server.

Asynchrone Ausführung (Benachrichtigungsmethode)

Der ODBC Driver for SQL Server unterstützt die asynchrone Ausführung (Benachrichtigungsmethode). Ein Verwendungsbeispiel finden Sie unter Beispiel für asynchrone Ausführung (Benachrichtigungsmethode).

Verbindungsstabilität

Um sicherzustellen, dass die Anwendungen mit einer Microsoft Azure SQL-Datenbank verbunden sind, kann der ODBC-Treiber unter Windows Verbindungen im Leerlauf wiederherstellen. Weitere Informationen finden Sie unter Connection Resiliency in the Windows ODBC Driver.

Verhaltensänderungen

In SQL Server Native Client führte die Option -y0 für sqlcmd.exe dazu, dass die Ausgabe bei 1 MB abgeschnitten wurde, wenn die Anzeigebreite auf 0 festgelegt war.

Ab dem ODBC-Treiber 11 für SQL Server gibt es keine Beschränkung für die Menge der Daten, die in einer einzelnen Spalte abgerufen werden können, wenn -y0 angegeben ist. sqlcmd.exe streamt jetzt Spalten bis zu 2 GB (Maximum für SQL Server-Datentypen).

Ein weiterer Unterschied ist, dass die Angabe sowohl von -h als auch von -y0 nun einen Fehler erzeugt, der meldet, dass die Optionen inkompatibel sind. -h, wodurch die Anzahl der Zeilen angegeben wird, die zwischen den Spaltenüberschriften gedruckt werden sollen, war noch nie mit -y0 kompatibel und wurde ignoriert, obwohl keine Überschriften gedruckt wurden.

-y0 kann je nach Größe der zurückgegebene Daten zu Leistungsproblemen auf dem Server und im Netzwerk führen.

Weitere Informationen

Microsoft ODBC Driver for SQL Server unter Windows