2013-07-12 22 views
77

Azure WebサイトのVMロール(私はSQL VMロールを持っています)にあるMY DBを接続するときにエラーが発生します。 VM RoleとAzure Websiteの両方がWestゾーンにあります。私は問題 "SqlException(0x80131904)に直面しています:サーバーとの接続が正常に確立されましたが、ログイン処理中にエラーが発生しました(プロバイダ:SSLプロバイダ、エラー:0 - 証明書チェーンは、 )] "Azure WebサイトのVMロールにDBを接続するときに、証明書チェーンが信頼されていない機関によって発行された

SSMSを使用して自分のDBに接続することができます。 1433ポートが自分のVMの役割で開いています。 接続に問題がありますか?

答えて

174

おそらく、SQL VMの信頼できるルートストアにCA署名付き証明書がインストールされていない可能性があります。どちらかのオフ(推奨されません)に、または追加することを設定し

あなたは、接続文字列でEncrypt=Trueを持っている場合は、接続文字列に次の

TrustServerCertificate=True 

SQL Serverが使用する場合は、自己署名証明書を作成します。それを使用するために1つをインストールしないでください。ただし、接続文字列にデフォルトでサーバー証明書を信頼するように指定しない限り、CA署名されていないため、呼び出し元は信頼できません。

長期的には、既知の信頼できるCAから無料でCAの署名付き証明書を取得し、VMにインストールすることをお勧めします。自動的に更新するように設定することを忘れないでください。このトピックの詳細については、SQL Serverオンラインブックの「暗号化階層」および「検証なしの暗号化の使用」を参照してください。

HTH

+0

申し訳ありませんが、TTrusted_Connection = Falseが接続文字列に設定されています。それは本当に私のために働く設定します。とにかく – ZafarYousafi

+1

@ ZafarYousafiあなたは正しいと答えてください。 – Termato

+2

'TrustServerCertificate'を' true'に設定するようアドバイスするのは良いことではありません。これは証明書のチェックを無効にします。それは 'Encrypt'を' false'に設定するだけではありません! –

3

あなたは、Visual Studio 2015でのデータ接続を介してアクセスしようとすると、上記のエラーを取得している場合は、[詳細設定に移動し、離れて行くために、エラーのために TrustServerCertificate=True を設定します。

12

SQL Management Studioを使用して接続しようとするときにこのエラーメッセージが表示される場合は、追加接続パラメータに TrustServerCertificate = Trueを追加します。

関連する問題