Nomi SPN (Service Principal Name) nelle connessioni client (ODBC)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

In questo argomento vengono descritti gli attributi e le funzioni ODBC che supportano i nomi SPN (Service Principal Name, nome dell'entità servizio) nelle applicazioni client. Per altre informazioni sui nomi SPN nelle applicazioni client, vedere Service Principal Name (SPN) Support in Client Connections and Get Mutual Kerberos Authentication.

Parole chiave per le stringhe di connessione

Le parole chiave per le stringhe di connessione seguenti consentono la specifica di un nome SPN nelle applicazioni client.

Parola chiave Valore
ServerSPN Nome SPN del server. Il valore predefinito è una stringa vuota. In SQL Server Native Client tale stringa causa l'utilizzo del nome SPN predefinito generato dal driver.
FailoverPartnerSPN Nome SPN del partner di failover. Il valore predefinito è una stringa vuota. In SQL Server Native Client tale stringa causa l'utilizzo del nome SPN predefinito generato dal driver.

Attributi di connessione

Gli attributi di connessione seguenti consentono la specifica di un nome SPN e di una query per il metodo di autenticazione nelle applicazioni client.

Nome Type Uso
SQL_COPT_SS_SERVER_SPN

SQL_COPT_SS_FAILOVER_PARTNER_SPN
SQLTCHAR, lettura/scrittura Specifica il nome SPN per il server. Il valore predefinito è una stringa vuota. In SQL Server Native Client tale stringa causa l'utilizzo del nome SPN predefinito generato dal driver.

Su questo attributo è possibile eseguire una query solo in seguito alla relativa impostazione a livello di codice o all'apertura di una connessione. Se si tenta di eseguire una query su questo attributo in una connessione non aperta e con l'attributo non impostato a livello di codice, viene restituito SQL_ERROR e viene registrato un record di diagnostica con SQLState 08003 e il messaggio "Connessione non aperta".

Se si tenta di impostare l'attributo quando una connessione è aperta, viene restituito SQL_ERROR e viene registrato un record di diagnostica con SQLState HY011 e il messaggio "Operazione correntemente non valida".
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD SQLTCHAR, sola lettura Restituisce il metodo di autenticazione utilizzato per la connessione. Il valore restituito all'applicazione è il valore che Windows restituisce a SQL Server Native Client. I valori possibili sono:

"NTLM", restituito quando una connessione viene aperta utilizzando l'autenticazione NTLM.

"Kerberos", restituito quando una connessione viene aperta utilizzando l'autenticazione Kerberos.



Questo attributo può essere letto solo per una connessione aperta in cui è stata utilizzata l'autenticazione di Windows. Se si tenta di leggerlo prima che venga aperta una connessione, viene restituito SQL_ERROR e viene registrato un errore con SQLState 08003 e il messaggio "Connessione non aperta".

Se si esegue una query su questo attributo in una connessione in cui non è stata utilizzata l'autenticazione di Windows, viene restituito SQL_ERROR e viene registrato un errore con SQLState HY092 e il messaggio "Identificatore di opzione o di attributo non valido (SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD è disponibile solo per connessioni trusted)".

Se non è possibile determinare il metodo di autenticazione, viene restituito SQL_ERROR e viene registrato un errore con SQLState HY000 e il messaggio "Errore generale".
SQL_COPT_SS_MUTUALLY_AUTHENTICATED SQLSMALLINT, sola lettura Restituisce SQL_TRUE se nella connessione è stata eseguita un'autenticazione reciproca del server. In caso contrario, restituisce SQL_FALSE.

Questo attributo può essere letto solo per una connessione aperta. Se si tenta di leggerlo prima che venga aperta una connessione, viene restituito SQL_ERROR e viene registrato un errore con SQLState 08003 e il messaggio "Connessione non aperta".

Se viene eseguita una query sull'attributo per una connessione in cui non è stata utilizzata l'autenticazione di Windows, viene restituito SQL_FALSE.

Supporto delle funzioni ODBC per la specifica dei nomi SPN

Le funzioni ODBC seguenti supportano le applicazioni client e i nomi SPN:

Vedere anche

SQL Server Native Client (ODBC)