Beim Verbinden von MY DB, das sich in der Rolle VM (Ich habe die Rolle SQL VM) befindet, von der Azure-Website tritt ein Fehler auf. Die Rolle VM und die Azure-Website befinden sich in der Zone West. Ich stehe vor folgendem Problem:
SqlException (0x80131904): Es wurde erfolgreich eine Verbindung mit dem Server hergestellt, aber während des Anmeldeprozesses ist ein Fehler aufgetreten. (Anbieter: SSL-Anbieter, Fehler: 0 - Die Zertifikatskette wurde von einer nicht vertrauenswürdigen Stelle ausgestellt.)]]
Ich kann über SSMS eine Verbindung zu meiner Datenbank herstellen. Der Port 1433 ist für meine VM - Rolle geöffnet. Was stimmt nicht mit meiner Verbindung?
Wahrscheinlich ist kein von einer Zertifizierungsstelle signiertes Zertifikat im vertrauenswürdigen Stammspeicher Ihrer SQL-VM installiert.
Wenn Sie Encrypt=True
in der Verbindungszeichenfolge haben, setzen Sie diese entweder auf "Aus" (nicht empfohlen) oder fügen Sie Folgendes in die Verbindungszeichenfolge ein:
TrustServerCertificate=True
SQL Server erstellt ein selbstsigniertes Zertifikat, wenn Sie kein Zertifikat für die Verwendung installieren. Der Aufrufer wird jedoch nicht als vertrauenswürdig eingestuft, da es nicht von der Zertifizierungsstelle signiert ist, es sei denn, Sie weisen die Verbindungszeichenfolge an, einem Serverzertifikat zu vertrauen Standard.
Langfristig würde ich empfehlen, Let's Encrypt zu verwenden, um ein von einer Zertifizierungsstelle signiertes Zertifikat von einer bekannten vertrauenswürdigen Zertifizierungsstelle kostenlos zu erhalten und auf der VM zu installieren. Vergessen Sie nicht, es so einzustellen, dass es automatisch aktualisiert wird. Weitere Informationen zu diesem Thema finden Sie in SQL Server-Büchern online unter den Themen "Verschlüsselungshierarchie" und "Verwenden der Verschlüsselung ohne Überprüfung".
HTH
Wenn diese Fehlermeldung angezeigt wird, wenn Sie versuchen, eine Verbindung mit SQL Management Studio herzustellen, fügen Sie .__ hinzu. Für die zusätzlichen Verbindungsparameter ist True = true.
Wenn Sie versuchen, über Datenverbindungen in Visual Studio 2015 darauf zuzugreifen und der obige Fehler angezeigt wird, gehen Sie zu Erweitert und setzen Sie __.TrustServerCertificate=True
, Damit der Fehler behoben wird.
Dasselbe kann vom ssms-Client selbst erreicht werden. Öffnen Sie einfach die ssms, geben Sie den Servernamen ein und stellen Sie unter Optionen unter Überschrift Verbindungseigenschaften sicher, dass das Zertifikat des Trust-Servers aktiviert ist.
Ich habe dieses Problem beim Importieren von Excel-Daten in die SQL-Datenbank über SSMS erhalten. Die Lösung lautet "select videoserverCertificate = True " im Sicherheitsabschnitt
Wenn ich dies tue und meine Anmeldeinformationen eingebe, erhalte ich folgende Fehlermeldung:
Login ist fehlgeschlagen für den Benutzer ''. (Microsoft SQL Server, Fehler: 18456)
Falls es jemandem hilft, stieß ich auf diesen Fehler, als ich den Profiler ausführen wollte, obwohl bei meiner Verbindung das Zertifikat des Trust-Servers geprüft wurde und ich im Abschnitt "Erweitert" die Einstellung "Verfolgungsserver" hinzugefügt habe. Ich habe zu einer Instanz von SSMS gewechselt, die als Administrator ausgeführt wird, und der Profiler wurde ohne Probleme gestartet. (Ich hatte zuvor herausgefunden, dass, wenn meine Verbindungen selbst zu lokalen Verbindungen eine lange Zeit benötigten, als Administrator geholfen wurde).