Posted July 11, 2024Jul 11 こんにちは。SQL Server サポート チームです。 今回は、分散型可用性グループにおける同期が突然失敗する事象についてご紹介します。 事象 SQL Server 2022 で分散型可用性グループを構成し FILESTREAM を使用している環境において、正常に稼働していた分散型可用性グループが突如同期に失敗し、同期の状態が NOT_HEALTHY になります。 <事象発生構成> ・SQL Server 2022 ・分散型可用性グループ ・FILESTREAM 原因 前提として、FILESTREAM の機能はログの順序性が重要になっています。 SQL Server 2022 より、パフォーマンス向上を目的に分散型可用性グループ間で、下記の弊社公開情報に記載している通り複数の TCP 接続を使用できるようになりました。 SQL Server 2022 の新機能により複数の TCP セッションからログを転送することで、FILESTREAM の内部的なログの順序がずれてしまうことで、同期に異常が発生することが原因です。 SQL Server 2022 (16.x) の新機能 - 可用性 https://learn.microsoft.com/ja-jp/sql/sql-server/what-s-new-in-sql-server-2022#availability ***** 分散型可用性グループ - tcp 待機時間が長いリモート リンク間のネットワーク帯域幅使用率を向上させるために、複数の TCP 接続を使用するようになりました。 ***** 対処策 本事象の対処策は、トレースフラグ 5597 を設定することです。 トレースフラグ 5597 は、SQL Server 2022の新機能(分散型可用性グループにおける複数TCP使用) を無効するのみで、以前のバージョンと同等な動作となり、他への影響はありません。 変更手順 トレースフラグ 5597 の設定方法は、以下の通りです。 トレースフラグ設定方法 -------------------------------- 1) SQL Server Configuration Manager (構成マネージャー)を起動します。 2) SQL Serverのサービス-> SQL Server (MSSQLSERVER もしくは インスタンス名) を右クリックし、プロパティを開きます。 3) [起動時のパラメーター] タブの[起動時のパラメーターの指定] ボックスに下記の値を入力し、[追加] をクリックします。 -T5597 5) [OK]をクリックし、設定を確定します。設定は、次回SQL Server サービス起動後に有効になります。 Continue reading...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.