Share via


Errore "La catena di certificati è stata emessa da un'autorità non attendibile" dopo l'aggiornamento delle applicazioni SNAC

Il supporto per il SQL Server Native Client 11.0 (SNAC) come driver per le applicazioni di database è terminato il 12 luglio 2022. Tutte le applicazioni che usano SNAC 11.0 devono essere aggiornate in modo da usare versioni più recenti dei driver. Vedere Scaricare il driver ODBC per SQL Server e Scaricare Microsoft OLE DB Driver per SQL Server. Questo articolo descrive un problema che si verifica quando si aggiorna l'applicazione SNAC 11.0 per usare Microsoft OLE DB Driver 19 per SQL Server o Microsoft ODBC Driver 18.x per SQL Server.

Se di recente è stata aggiornata l'applicazione SQL Server Native Client 11.0 (Provider=SQLNCLI11) per usare Microsoft OLE DB Driver 19 per SQL Server (Provider=MSOLEDBSQL19), è possibile che vengano visualizzati messaggi di errore simili ai messaggi seguenti:

[Microsoft OLE DB Driver 19 for SQL Server]: Impossibile stabilire la connessione del client

[Microsoft OLE DB Driver 19 for SQL Server]: Provider SSL: la catena di certificati è stata emessa da un'autorità non attendibile.

Causa

Questi errori si verificano se si verificano entrambe le condizioni seguenti:

  • L'impostazione Forza crittografia per l'istanza di SQL Server è impostata su No.

  • Il client stringa di connessione non specifica in modo esplicito un valore per la proprietà di crittografia o l'opzione Crittografia non è stata impostata o aggiornata in modo esplicito nel DSN.

L'errore si verifica a causa di una modifica del comportamento predefinito dei driver client. Le versioni precedenti dei driver client sono progettate per presumere che la crittografia dei dati sia DISATTIVATa per impostazione predefinita. I nuovi driver presuppongono che questa impostazione sia impostata su ON per impostazione predefinita. Poiché la crittografia dei dati è impostata su ON, il driver prova a convalidare il certificato del server e non riesce.

Soluzioni

  • Soluzione 1: Usare Microsoft OLE DB Driver per SQL Server 18.x. È possibile scaricare il driver dalle note sulla versione per il Microsoft OLE DB Driver per SQL Server.

  • Soluzione 2: Se l'applicazione stringa di connessione proprietà specifica già il valore o Obbligatorio per l'impostazione Crittografa/Usa crittografia per i dati, modificare il valore in No o Facoltativo. Ad esempio, Usa crittografia per dati=Facoltativo. Se il stringa di connessione non specifica alcun valore per Encrypt/Use Encryption for Data, aggiungere Use Encryption for Data=Optional (Usa crittografia per dati=Facoltativo) alla stringa di connessione. Per altre informazioni, vedere Crittografia e convalida del certificato.

  • Soluzione 3: Aggiungere ;TrustServerCertificate=true alla stringa di connessione. In questo modo il client dovrà considerare attendibile il certificato senza convalida.

  • Nota

    Attualmente, MSOLEDBSQL19 impedisce la creazione di server collegati senza crittografia e un certificato attendibile (un certificato autofirma non è sufficiente). Se sono necessari server collegati, usare la versione supportata esistente di MSOLEDBSQL.

Vedere anche