"La chaîne de certificats a été émise par une autorité qui n'est pas approuvée" lors de la connexion de DB dans le rôle VM à partir du site Web Azure
Je rencontre une erreur lors de la connexion de ma base de données qui est dans le rôle VM(j'ai le rôle SQL VM) à partir du site Web Azure. Le rôle de VM et le site Web Azure sont dans la zone Ouest. Je suis confronté à la question suivante "SqlException (0x80131904): une connexion a été établie avec succès avec le serveur, mais une erreur s'est produite lors du processus de connexion. (fournisseur: fournisseur SSL, erreur: 0-la chaîne de certificats a été émise par une autorité non approuvée.)]"
Je suis capable de me connecter à ma base de données en utilisant SSMS. 1433 le port est ouvert sur mon rôle VM. Quel est le problème avec ma connexion?
6 réponses
Vous n'avez probablement pas installé de certificat signé par L'autorité de certification dans le magasin racine approuvé de votre machine virtuelle SQL.
Si vous avez Encrypt=True
dans la chaîne de connexion, définissez-la SUR off (non recommandé) ou ajoutez ce qui suit dans la chaîne de connexion:
TrustServerCertificate=True
SQL Server créera un certificat auto-signé si vous n'en installez pas un pour l'utiliser, mais il ne sera pas approuvé par l'appelant car il N'est pas signé par CA, sauf si vous dites à la chaîne de connexion de faire confiance à un cert serveur par défaut.
À Long terme, je recommande de tirer parti de chiffrons pour obtenir gratuitement un certificat signé par une autorité de certification connue et l'installer sur la machine virtuelle. N'oubliez pas de le configurer pour actualiser automatiquement. Vous pouvez en savoir plus sur ce sujet dans SQL Server books online sous la rubrique "hiérarchie de chiffrement" et "Utilisation du chiffrement sans Validation".
HTH
Si ce message d'erreur s'affiche lorsque vous tentez de vous connecter à L'aide de SQL Management Studio, ajoutez TrustServerCertificate = True pour les paramètres de connexion supplémentaires.
Si vous utilisez SQL Management Studio, accédez aux propriétés de connexion et cliquez sur "Trust server certificated"
Si vous essayez d'y accéder via des connexions de données dans Visual Studio 2015 et que vous obtenez l'erreur ci-dessus, accédez à Advanced et set
TrustServerCertificate=True
pour l'erreur de s'en aller.
La même chose peut être obtenue à partir du client ssms lui-même. Ouvrez simplement le ssms, insérez le nom du serveur, puis à partir des options sous la rubrique Propriétés de connexion, assurez-vous que le certificat de serveur de confiance est vérifié.
Au cas où cela aiderait quelqu'un d'autre, j'ai rencontré cette erreur en essayant d'exécuter profiler, même si ma connexion avait vérifié le certificat du serveur de confiance et j'ai ajouté TrustServerCertificate=True dans la section avancée. J'ai changé pour une instance de SSMS fonctionnant en tant qu'administrateur et profiler a commencé sans problème. (J'avais déjà trouvé que lorsque mes connexions, même locales, prenaient beaucoup de temps à se connecter, l'exécution en tant qu'administrateur aidait).