次の方法で共有


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. ネットワーク トレースを使用できない場合は、このレジストリ サブキーの関数の値を確認します。

    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 ツールの Ciphers Suites タブを使用して、一致するアルゴリズムがあるかどうかを確認します。 一致するアルゴリズムが見つからない場合は、Microsoft サポートにお問い合わせください。

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

サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

関連項目

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