SQL
罠 2-c: Sch-M ロックは ONLINE でも瞬間発生する
出典: 業務 SE が SQL Server INDEX 断片化に手を出す前に見る 3 箇所 — REBUILD / REORGANIZE / 放置の判断軸 — 罠②: ONLINE オプション — Enterprise / LOB / Sch-M ロックの 3 つの罠 / 罠 2-c: Sch-M ロックは ONLINE でも瞬間発生する
-- 現在のロック保持状況 (Sch-M / Sch-S を含む)
SELECT
request_session_id AS session_id,
resource_type,
resource_associated_entity_id,
resource_lock_partition,
request_mode, -- Sch-M / Sch-S / S / X / IX 等
request_type,
request_status -- GRANT / WAIT / CONVERT
FROM sys.dm_tran_locks
WHERE resource_type IN ('OBJECT', 'KEY', 'PAGE')
AND request_mode IN ('Sch-M', 'Sch-S', 'X', 'IX')
ORDER BY request_session_id;
▸ 実行ボタンで結果を表示
Source収録記事
この snippet は記事の「罠②: ONLINE オプション — Enterprise / LOB / Sch-M ロックの 3 つの罠 / 罠 2-c: Sch-M ロックは ONLINE でも瞬間発生する」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
3 件-- 全 INDEX の断片化を一発で返す (SAMPLED モード) SELECT OBJECT_NAME(ps.object_id) AS table_name, si.name AS index_name,
▶ 実行可
罠①: 断片化率と page_count の見方
#a957935a3f52
-- 全 INDEX の fill factor 現状 SELECT OBJECT_NAME(i.object_id) AS table_name, i.name AS index_name,
▶ 実行可
fill factor の現状確認 SQL
#ace9ba4117bf
-- 更新多い INDEX を REBUILD + fill factor 85% で再構築 ALTER INDEX [IX_Orders_OrderDate] ON [dbo].[Orders] REBUILD WITH (未収録
REBUILD と一緒に fill factor を変える書き方
#9b242fc587e9
