現象
Microsoft SQL Server 2014 または2016で Always On 可用性グループ (AG) を使用することを前提としています。 セカンダリデータベースで 次のような 書き込みエラーが発生した場合、データベースは中断される可能性があります。
エラー: 17053、レベル:16、状態: 1。 SQLServerLogMgr:: LogWriter: オペレーティングシステムエラー 6 (ハンドルは無効です。) encountered. ログのフラッシュ中に書き込みエラーが発生します。
この場合、データの移動を再開すると、データベースは再開されず、中断された状態のままになります。
回避策
この問題を回避するには、SQL Server インスタンスを再起動するか、[可用性] グループからセカンダリデータベースを削除してから、もう一度追加することができます。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server 2016 RTM の累積更新プログラム8
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
注:
この更新プログラムをインストールした後、この問題が再発する場合は、次の transact-sql コマンドを実行してデータベースを再起動し、データベースのデータ移動を再開することができます。
ALTER DATABASE <database_name> HADR RESUME を設定する
これは自動化されていません。 そのため、再開操作を手動で実行する必要があります。 セカンダリレプリカでデータの移動を中断させる可能性があるほとんどの種類のエラーは、手動での操作が必要であるためです。
たとえば、ログファイルが共有フォルダーに置かれているか、Microsoft Azure Blob に保存されている場合、接続が失われると、エラー17053が発生します。 手動での操作によって、HADR resume コマンドを発行する前に、共有フォルダーまたは Azure Blob への接続が復元されていることを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。