クラスタ化インデックスがあるテーブルの非クラスタインデックス再構築時のロック情報 [SQL Server]
タイトルが長いのですが、twitter上で見かけたネタを動かしてみました。
クラスタ化インデックス(CL)があるテーブルの非クラスタインデックス(NCL)を
再構築するときにどんなロックがかかるの?
です。
再構築中のある瞬間にsys.dm_tran_locksから情報を引っ張ってきただけです。
インデックス再構築なので、DatabaseにはSロックを、オブジェクト(多分CLとNCL)にIXを、
IAM等を多分いじるのでSch-MやSch-Xを使いつつ実際のインデックスページはXで保護。
KEYにもXがかかるのはNCLのリーフページをいじっているときにKEY値の変更を防ぐためかもしれません。
ということでインデックス再構築中のデータアクセスはロック待ちになることがありそうですね。
やはりオフタイムでの実行が好ましそうです。
スポンサードリンク
クラスタ化インデックス(CL)があるテーブルの非クラスタインデックス(NCL)を
再構築するときにどんなロックがかかるの?
です。
再構築中のある瞬間にsys.dm_tran_locksから情報を引っ張ってきただけです。
インデックス再構築なので、DatabaseにはSロックを、オブジェクト(多分CLとNCL)にIXを、
IAM等を多分いじるのでSch-MやSch-Xを使いつつ実際のインデックスページはXで保護。
KEYにもXがかかるのはNCLのリーフページをいじっているときにKEY値の変更を防ぐためかもしれません。
ということでインデックス再構築中のデータアクセスはロック待ちになることがありそうですね。
やはりオフタイムでの実行が好ましそうです。
スポンサードリンク
コメント 0