Delen via


Fout 'De certificaatketen is uitgegeven door een instantie die niet wordt vertrouwd' na het upgraden van SNAC-toepassingen

Ondersteuning voor de SQL Server Native Client 11.0 (SNAC) als stuurprogramma voor databasetoepassingen is beƫindigd op 12 juli 2022. Toepassingen die gebruikmaken van SNAC 11.0 moeten worden bijgewerkt om nieuwere versies van de stuurprogramma's te gebruiken (zie ODBC-stuurprogramma voor SQL Server downloaden en Microsoft OLE DB-stuurprogramma voor SQL Server downloaden). In dit artikel wordt een probleem beschreven dat optreedt wanneer u een upgrade uitvoert van uw SNAC 11.0-toepassing om Microsoft OLE DB-stuurprogramma 19 voor SQL Server of Microsoft ODBC-stuurprogramma 18 te gebruiken.x voor SQL Server.

Als u onlangs uw SQL Server Native Client 11.0-toepassing (Provider=SQLNCLI11) hebt bijgewerkt om Microsoft OLE DB-stuurprogramma 19 te gebruiken voor SQL Server (Provider=MSOLEDBSQL19), ontvangt u mogelijk foutberichten die lijken op de volgende berichten:

[Microsoft OLE DB-stuurprogramma 19 voor SQL Server]: Client kan geen verbinding tot stand brengen

[Microsoft OLE DB-stuurprogramma 19 voor SQL Server]: SSL-provider: de certificaatketen is uitgegeven door een instantie die niet wordt vertrouwd.

Oorzaak

Deze fouten treden op als aan beide volgende voorwaarden wordt voldaan:

  • De instelling Versleuteling forceren voor het SQL Server-exemplaar is ingesteld op Nee.

  • De client verbindingsreeks geeft niet expliciet een waarde op voor de versleutelingseigenschap of de optie Versleuteling is niet expliciet ingesteld of bijgewerkt in de DSN.

De fout treedt op vanwege een wijziging in het standaardgedrag van de clientstuurprogramma's. Oudere versies van clientstuurprogramma's zijn ontworpen om ervan uit te gaan dat gegevensversleuteling standaard UIT is. De nieuwe stuurprogramma's gaan ervan uit dat deze instelling standaard AAN is. Omdat gegevensversleuteling is ingesteld op AAN, probeert het stuurprogramma het certificaat van de server te valideren en mislukt.

Oplossingen

  • Oplossing 1: Microsoft OLE DB-stuurprogramma gebruiken voor SQL Server 18.x. U kunt het stuurprogramma downloaden via releaseopmerkingen voor het Microsoft OLE DB-stuurprogramma voor SQL Server.

  • Oplossing 2: Als de toepassing verbindingsreeks eigenschap al de waarde Ja of Verplicht opgeeft voor de instelling Versleuteling/versleuteling gebruiken voor gegevens, wijzigt u de waarde in Nee of Optioneel. Gebruik bijvoorbeeld Versleuteling voor gegevens=optioneel. Als de verbindingsreeks geen waarde opgeeft voor Versleuteling voor gegevens versleutelen/gebruiken, voegt u Use Encryption for Data=Optional toe aan de verbindingsreeks. Zie Versleuteling en certificaatvalidatie voor meer informatie.

  • Oplossing 3: Voeg toe ;TrustServerCertificate=true aan de verbindingsreeks. Hierdoor wordt de client gedwongen het certificaat te vertrouwen zonder validatie.

  • Opmerking

    Momenteel voorkomt MSOLEDBSQL19 het maken van gekoppelde servers zonder versleuteling en een vertrouwd certificaat (een zelfondertekend certificaat is onvoldoende). Als gekoppelde servers vereist zijn, gebruikt u de bestaande ondersteunde versie van MSOLEDBSQL.

Zie ook