Jump to content

Featured Replies

Posted

こんにちは。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

 

mediumvv2px400.png.d5d16ee6ffa24ed6079360202fcad83a.png

 

 

 

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.

Guest
Reply to this topic...