次の方法で共有


ログイン プロセス中に発生する Secure Sockets Layer (SSL) エラーのトラブルシューティング

Note

  • この記事は Windows 専用です。
  • 一貫した認証エラーは通常、設定が正しくないためですが、断続的なエラーは通常、接続の切断、パフォーマンスの低下、タイムアウトの問題が原因です。
  • Windows エクスプローラー でファイル拡張子を有効にすることをお勧めします。

現象

TLS/SSL を使用すると、次のエラーが発生する可能性があります。

名前付きパイプ

サーバーとの接続は正常に確立されましたが、ログイン プロセスでエラーが発生しました。 (プロバイダー: SSL プロバイダー、エラー: 0 - パイプのもう一方の端にプロセスがありません)Microsoft SQL Server、エラー: 233。

TCP

サーバーとの接続は正常に確立されましたが、ログイン プロセスでエラーが発生しました。 (プロバイダー: SSL プロバイダー、エラー: 0 - リモート ホスト 10054 によって接続が強制的に閉じられました)Microsoft SQL Server、エラー: 233。

解決方法

これらの SSL エラーをトラブルシューティングするには、次の手順に従います。

  1. 有効期限が切れている証明書または正しくない証明書を更新します。
  2. TLS プロトコルを有効にします。
  3. クライアントとサーバーに一致する暗号スイートがあることを確認します。

これらの手順の詳細については、TLS 1.2 にアップグレードした後に報告される SSL エラーを参照してください。

この解決策が機能しない場合は、次のセクションの手順を使用して、より詳細なログを収集して、これらのエラーの根本原因に関する分析情報を取得します。

高度な SSL データ キャプチャ

SQLCHECK を使用して Windows 設定をキャプチャする

クライアント コンピューター、サーバー マシン、およびその他の関連システム (Web サーバーや SQL Server のリンク サーバーの中間マシンなど) で SQLCHECK を実行します。

  1. 最新バージョンの SQLCHECK をダウンロードし、 C:\MSDATA などのフォルダーに解凍します。
  2. Windows エクスプローラーで実行可能ファイルをダブルクリックします。 レポートは、 SQLCheck.exe が配置されているフォルダーに書き込まれます。

ドライバーの組み込み診断 (BID) トレースを構成する

  1. 最新バージョンの SQLTRACE をダウンロードし、 C:\MSDATA などのフォルダーに展開します。

    2 つのファイル ( SQLTrace.ps1SQLTrace.ini があります。 INI ファイルは、キャプチャする内容を構成するために使用されます。

  2. メモ帳で SQLTrace.ini を開き、 BID トレース セクションに移動します。

  3. BIDTrace=yesが設定されていることを確認します。

  4. BIDProviderListアプリケーションが使用しているドライバーに準拠していることを確認します。

    組み込みの System.Data.SqlClient .NET ドライバーが自動的に有効になります。 アプリケーションが使用しているドライバーでない場合は、 # 文字を使用してこの行にコメントを付け、 ODBC セクションや OLEDB セクションなどのコメントを解除します。 不明な場合は、データベース管理者 (DBA) またはアプリケーション開発者に問い合わせてください。または、現在使用中のすべてのドライバーを含む 4 番目の BIDProviderListを使用してください。

  5. ファイルを保存します。

ネットワーク トレースを構成する

networking セクションは、Network=yesNETSH=yesで自動的に構成されます。 これらの設定は、正当な理由なしに変更しないでください。

ローカル接続をトレースしている場合は、アプリケーションが共有メモリまたは名前付きパイプではなく TCP/IP を使用していることを確認します。 LoopBack キャプチャをサポートしているため、ネットワーク キャプチャに WireShark をインストールして使用します。 WireShark では、VPN トラフィックも非常によくキャプチャされます。

認証トレースを構成する

Auth セクションは、Auth=yesおよびその他の多くの設定で自動的に構成されます。

MISC セクションでFlushTickets=yesを設定する必要がある場合もあります。 コンピューター上のすべてのユーザーとサービスの Kerberos チケットがフラッシュされます。

BID トレースを有効にする

SQLTrace.ini ファイルに対するすべての変更が保存されたら、トレースを開始する前に BID トレースを有効にする必要があります。

  1. PowerShell を管理者として開きます。

  2. ディレクトリを、 SQLTrace.ps1 を含むフォルダーに変更します。

    CD C:\MSDATA
    
  3. BID トレース レジストリを初期化します。

    .\SQLTrace.ps1 -setup
    
  4. トレースするサービスまたはアプリケーションを再起動します。 それ以外の場合、アプリケーションはトレースされません。

トレース データを収集する

Note

続行する前に、すべてのマシンで前の手順が完了していることを確認します。

  1. 管理者としてトレースされているすべてのマシンで PowerShell を開きます。 問題を再現する前に、すべてのマシンで開始手順を完了します。

  2. ディレクトリを、 SQLTrace.ps1 を含むフォルダーに変更します。

    CD C:\MSDATA
    
  3. トレース コレクションを開始します。

    .\SQLTrace.ps1 -start
    
  4. コマンド プロンプトが表示されたときに問題を再現します。

  5. トレースを停止します。

    .\SQLTrace.ps1 -stop
    

出力フォルダーは現在のディレクトリに生成され、詳細な分析に使用できます。

イベント ログのダウンロードに時間がかかる場合があるため、トレースが完全に停止するまでに 1 ~ 2 分かかる場合があります。

構成手順をやり直すことなく、トレースを数回開始および停止できます。 作成されるたびに、フォルダー名の一部としてタイムスタンプを使用して新しいフォルダーが作成されます。 この時間は、トレースが開始された時刻に対応します。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。