現象
トランスポート層セキュリティ (TLS) バージョン1.2 が有効になっているサーバーに Microsoft SQL Server 2012 または SQL Server 2014 をインストールしようとすると、次の問題が発生する可能性があります。
-
インストールしようとしている SQL Server のバージョンに、TLS 1.2 サポートを有効にするための修正プログラムが含まれていない場合 (TLS 1.2 サポートを追加するビルドの詳細については、「 KB 3052404)」というエラーメッセージが表示されます。
データベースエンジンの回復ハンドルが失敗するのを待ちます。 考えられる原因については、SQL Server エラーログを確認してください。
-
インストールしようとしている SQL Server のバージョンに、TLS 1.2 サポートを有効にする修正 プログラムが含ま れている場合、次のエラーメッセージが表示されます。
サーバーとの接続が正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました。 (プロバイダー: 名前付きパイププロバイダー、エラー: 0-パイプのもう一方の終端にプロセスがありません。)
どちらの場合も、インストールは失敗します。
原因
この問題は、SQL Server のセットアップで .NET Framework 2.0 から SqlClient for ADO.NET が使用されているために発生します。 既定では、.NET Framework 2.0 は TLS 1.0 と連携しています。
解決方法
この問題を解決するには、.NET Framework の修正プログラムロールアップをインストールしてから、サーバーを再起動します。 次の表を使用して、実行しているオペレーティングシステムと SQL Server のバージョンに基づいて適切な修正プログラムを見つけます。
オペレーティング システムのバージョン |
修正プログラム |
---|---|
Windows 2012 R2 および Windows 8.1 |
Windows Server 2012 R2 および Windows 8.1 の .NET Framework 2.0 SP2 の修正プログラムロールアップ3106993 |
Windows Server 2012 および Windows 8 |
Windows Server 2012 および Windows 8 の .NET Framework 2.0 SP2 の修正プログラムロールアップ3106992 |
Windows Server 2008 R2 SP1 および Windows 7 SP1 |
Windows Server 2008 R2 SP1 および Windows 7 SP1 の .NET Framework 2.0 SP2 の修正プログラムロールアップ3106991 |
回避策
この問題を回避するには、次の手順を実行します。
-
サーバー上で TLS 1.0 を有効にします。
-
サーバーを再起動します。
-
Sql Server 2012 または SQL Server 2014 セットアッププログラムを実行し、TLS 1.2 をサポートするビルドに SQL Server のバージョンを更新します。 (TLS 1.2 のサポートを追加する更新プログラムの詳細については、 KB 3052404を参照してください。)
-
TLS 1.0 を無効にします。
-
サーバーを再起動します。
注: 修正プログラムが含まれていない SQL Server 2012 または SQL Server 2014 をインストールして、TLS 1.2 サポートを有効にする必要がある場合は、この回避策も使用する必要があります。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語 について説明します。