Dienstprinzipalnamen (SPN) in Clientverbindungen (ODBC)

 

System_CAPS_ICON_warning.jpg Warnung

SQL Server Native Client (SNAC) is not supported beyond SQL Server 2012. Avoid using SNAC in new development work, and plan to modify applications that currently use it. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows to Microsoft SQL Server and Microsoft Azure SQL Database.

In diesem Thema werden ODBC-Attribute und Funktionen beschrieben, die Dienstprinzipalnamen (SPN) in Clientanwendungen unterstützen. Weitere Informationen über SPNs in Clientanwendungen finden Sie unter Unterstützung von Dienstprinzipalnamen (SPN) in Clientverbindungen und Einrichten der gegenseitigen Kerberos-Authentifizierung.

Die folgenden Schlüsselwörter für Verbindungszeichenfolgen ermöglichen Clientanwendungen, einen SPN anzugeben.

SchlüsselwortWert
ServerSPNDer SPN für den Server. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.
FailoverPartnerSPNDer SPN für den Failoverpartner. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.

Die folgenden Verbindungsattribute ermöglichen es Clientanwendungen, einen SPN anzugeben und eine Authentifizierungsmethode abzufragen.

NameTypVerwendung
SQL_COPT_SS_SERVER_SPN

SQL_COPT_SS_FAILOVER_PARTNER_SPN
SQLTCHAR, read/writeGibt den SPN für den Server an. Der Standardwert ist eine leere Zeichenfolge und bewirkt, dass SQL Server Native Client den vorgegebenen, vom Treiber generierten SPN verwendet.

Dieses Attribut kann nur abgefragt werden, nachdem es programmgesteuert festgelegt wurde oder nachdem eine Verbindung geöffnet wurde. Wenn versucht wird, dieses Attribut für eine Verbindung abzufragen, die nicht geöffnet ist, und wenn dieses nicht programmgesteuert festgelegt wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Diagnosedatensatz mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn versucht wird, dieses Attribut festzulegen, wenn eine Verbindung geöffnet ist, dann wird SQL_ERROR zurückgegeben, und es wird ein Diagnosedatensatz mit SQLState HY011 und der Meldung "Der Vorgang ist zu diesem Zeitpunkt nicht gültig" protokolliert.
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHODSQLTCHAR, read-onlyGibt die für die aktuelle Verbindung verwendete Authentifizierungsmethode zurück. An die Anwendung wird der Wert zurückgegeben, den Windows an SQL Server Native Client zurückgibt. Folgende Werte sind möglich:

- "NTLM" wird zurückgegeben, wenn eine Verbindung mit der NTLM-Authentifizierung geöffnet wird.
- "Kerberos" wird zurückgegeben, wenn eine Verbindung mit der Kerberos-Authentifizierung geöffnet wird.

Dieses Attribut kann nur für eine geöffnete Verbindung gelesen werden, für die die Windows-Authentifizierung verwendet wurde. Wenn versucht wird, dieses Attribut zu lesen, bevor eine Verbindung geöffnet wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn dieses Attribut für eine Verbindung abgefragt wird, für die nicht die Windows-Authentifizierung verwendet wurde, wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState HY092 und der Meldung "Attribut/Optionsbezeichner ungültig (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD ist nur für vertrauenswürdige Verbindungen verfügbar)" protokolliert.

Wenn die Authentifizierungsmethode nicht ermittelt werden kann,dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState HY000 und der Meldung "Allgemeiner Fehler" protokolliert.
SQL_COPT_SS_MUTUALLY_AUTHENTICATEDSQLSMALLINT, read-onlyGibt SQL_TRUE zurück, wenn der Server in der Verbindung gegenseitig authentifiziert wurde; andernfalls wird SQL_FALSE zurückgegeben.

Dieses Attribut kann nur für eine geöffnete Verbindung gelesen werden. Wenn versucht wird, dieses Attribut zu lesen, bevor eine Verbindung geöffnet wurde, dann wird SQL_ERROR zurückgegeben, und es wird ein Fehler mit SQLState 08003 und der Meldung "Verbindung nicht geöffnet" protokolliert.

Wenn dieses Attribut für eine Verbindung abgefragt wird, für die keine Windows-Authentifizierung verwendet wurde, wird SQL_FALSE zurückgegeben.

Die folgenden ODBC-Funktionen unterstützen Clientanwendungen und SPN:

SQL Server Native Client (ODBC)

Community-Beiträge

HINZUFÜGEN
Anzeigen: