Azure WebサイトからVM Roleにある(私はSQL VM Roleを持っている)MY DBに接続するとエラーが発生します。 VM RoleとAzure WebサイトはどちらもWestゾーンにあります。私は次の問題に直面しています:
SqlException(0x80131904):サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。 (プロバイダ:SSLプロバイダ、エラー:0 - 証明書チェーンは信頼されていない機関によって発行されました。)
SSMSを使って私のDBに接続することができます。 1433ポートはVMロールで開かれています。私の関係の何が問題になっていますか
SQL VMの信頼されたルートストアにCA署名付き証明書がインストールされていない可能性があります。
接続文字列にEncrypt=True
がある場合は、それをoffに設定するか(推奨されません)、または接続文字列に次のように追加します。
TrustServerCertificate=True
SQL Serverは自己署名証明書を使用するためにインストールしない場合は自己署名証明書を作成しますが、CA署名されていないため呼び出し元からは信頼されません。デフォルト。
長期的には、 Let's Encrypt を利用して、既知の信頼できるCAからCA署名付き証明書を無料で入手し、それをVMにインストールすることをお勧めします。自動的に更新するように設定することを忘れないでください。このトピックの詳細については、SQL Serverのオンラインブックの「暗号化階層」および「検証なしでの暗号化の使用」のトピックを参照してください。
HTH
SQL Management Studioを使用して接続しようとしたときにこのエラーメッセージが表示される場合は、[追加の接続パラメータ]にTrustServerCertificate = Trueを追加します。
もしあなたがVisual Studio 2015のData Connectionsを通してそれにアクセスしようとしていて、そして上記のエラーを得ているのであれば、そしてAdvancedへ行き、消えるエラーのためにTrustServerCertificate=True
をセットしてください。
Ssmsクライアントからも同じことが達成できます。 ssmsを開き、サーバー名を挿入して、見出しの接続プロパティの下にあるオプションから[サーバー証明書の信頼]がオンになっていることを確認します。
SSMSを通してSQLデータベースにExcelデータをインポートしている間、私はこの問題を得ました。解決策は、セキュリティセクションでTrustServerCertificate = Trueを選択することです。
これを実行して資格情報を入力すると、次のエラーが表示されます。
ユーザー「」のログインに失敗しました。 (Microsoft SQL Server、エラー:18456)
それが他の誰かを助ける場合、私は私の接続が信頼されたサーバー証明書をチェックしていて、私がAdvancedセクションでTrustServerCertificate = Trueを追加したにもかかわらずプロファイラーを実行しようとするこのエラーに遭遇しました。管理者として実行しているSSMSのインスタンスに変更し、プロファイラが問題なく起動しました。 (私は以前、ローカルへの接続でも接続に時間がかかり、管理者の手助けとして実行していたことを発見しました)。