web-dev-qa-db-ja.com

データベースミラーリングのログイン試行が次のエラーで失敗しました: '接続ハンドシェイクが失敗しました。ハンドシェイクの検証に失敗しました。州36. '

SQL Server 2016 CU1から2016 SP1への可用性グループの ローリングアップグレード の実行中に、問題に気付きました。更新後すぐに、セカンダリレプリカのレプリケーションがそのノードで機能しなくなり、SQLログはデータベースミラーリングのログインに問題があったことを示しました。

ユーザー 'DOMAIN\SERVICEACCOUNT'によるデータベースミラーリングのログイン試行。エラーで失敗しました: '接続ハンドシェイクに失敗しました。ハンドシェイクの検証に失敗しました。州36. '。 [クライアント:10.1.2.3]

この問題の原因と解決方法を教えてください。

4
Greg Bray

これは データベースミラーリングエンドポイント で使用される 暗号化方法 の問題です。 SQL Server 2014では、デフォルトの暗号化タイプはRC4でしたが、SQL Server 2016では、新しいデフォルトはAESであり、 CU2 update がRC4のサポートを削除した可能性があります。

これを検出して修正するには、ノードで以下を実行します。

-- Looking at encryption_algorithm - RC4 is deprecated in 2016 CU2+
Select * From sys.database_mirroring_endpoints

Alter Endpoint Hadr_endpoint
 STATE=STARTED
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
 FOR DATA_MIRRORING (ROLE = ALL, AUTHENTICATION = WINDOWS NEGOTIATE
 , ENCRYPTION = REQUIRED ALGORITHM AES RC4)
 GO

その後、レプリケーションが再び機能し始め、ローリングアップグレードを続行できます。

4
Greg Bray