動作の仕組みはわかっていないのですが、再開可能なインデックスのオンラインビルドの実行方法がわかりましたので、書いておきたいと思います。
再開可能なインデックスのオンラインビルですが、インデックスの再構築を実施する際に「RESUMABLE = ON」を指定することで使用することができるようです。
ALTER INDEX [PK_CUSTOMER] ON [dbo].[CUSTOMER] REBUILD WITH (RESUMABLE = ON, ONLINE = ON) GO
RESUMABLE のオプションを有効にして再構築しているインデックスについては「sys.index_resumable_operations」から、状態を確認することができました。
「RESUMABLE=ON」を指定した再構築については、上記の DMV に情報が出力されるようになり、インデックスの再構築のクエリを停止 / Kill した場合は、
Warning: An existing resumable operation with the same options was identified for the same index on ‘CUSTOMER’. The existing operation will be resumed instead.
The statement has been terminated.
ユーザーがクエリを取り消しました。
というようなメッセージが表示されますが、「percent_complete」は維持されたままとなっており、再度同様のコマンドでインデックスの再構築を実施すると、処理が継続されてインデックスの再構築が実施されます。
中断中にデータの全件更新を実施した場合等は、中断していたものが 100% 完了になっていたので、この辺の動作が気になりますが、有効に活用すると大量データのオンライン操作を複数タイミングで実行するというようなことができて運用の利便性が向上するケースが出てくるのかなと。