Windows Server を更新した後の "リンク サーバーへの接続に失敗しました" エラー

この記事は、最近の Windows Server 更新プログラムのインストール後にリンク サーバーへの接続が失敗したときに発生するエラーを解決するのに役立ちます。

現象

次のエラー メッセージは、SQL Serverエラー ログに記録されます。

TCP プロバイダー: 既存の接続がリモート ホストによって強制的に閉じられました。

リンク サーバー "LinkedServerName>" の OLE DB プロバイダー "MSOLEDBSQL" は、<"クライアントが接続を確立できません" というメッセージを返しました。 (Microsoft SQL Server、エラー: 10054)

次のスクリーンショットは、イベント ID 36874 を示しています。 これは、Windows イベント ビューアーで発生する Schannel エラーです。これは、クライアントとサーバーが、接続で障害を引き起こすさまざまな暗号スイートのセットをサポートしていることを示します。

リンク サーバーへの接続が失敗した後に複数のエラーが発生することを示すスクリーンショット。

原因

SQL Server クライアントとサーバーの暗号は、Windows Server 更新プログラムをインストールした後に変更されました。 その結果、コミュニケーションに問題がありました。

暗号値をチェックする方法

クライアント コンピューターとサーバー コンピューターで暗号値をチェックするには、次の手順に従います。

  1. 管理 PowerShell セッションを開き、クライアントとメイン サーバーの両方で次のコマンドを実行します。

    Get-ItemPropertyValue  -Path HKLM:\System\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002\ -Name Functions
    
  2. 両方のコンピューターの値を比較して、暗号が異なるかどうかを判断します。

解決方法

問題を解決するには、次の手順に従います。

  1. ネットワーク トレースを使用できない場合は、次のレジストリ サブキーの functions 値をチェックします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002

  2. 次の PowerShell コマンドを実行して、トランスポート層セキュリティ (TLS) 関数を見つけます。

    Get-ItemPropertyValue  -Path HKLM:\System\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002\ -Name Functions
    
  3. IIS Crypto ツールの [暗号スイート] タブを使用して、一致するアルゴリズムがあるかどうかをチェックします。 一致するアルゴリズムが見つからない場合は、Microsoft サポートにお問い合わせください。

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft では、このトピックに関する追加情報を見つけるのに役立つサード パーティの連絡先情報を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、第三者の連絡先情報の正確性を保証しません。

関連項目

既存の接続がリモート ホストによって強制的に閉じられた (OS エラー 10054)