---
generated_at: 2026-02-19 15:30:00
metrics:
  claims_total: 105
  claims_with_evidence: 105
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：sp_BlitzLock 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：105 / 105、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全テストケースにソースコードの根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `sp_BlitzLock.sql` 行1-50 - プロシージャ定義、パラメータ宣言
- E-02: `sp_BlitzLock.sql` 行52-146 - @Help処理、ヘルプテキスト出力
- E-03: `sp_BlitzLock.sql` 行47-50 - @VersionCheckMode処理
- E-04: `sp_BlitzLock.sql` 行270-334 - @StartDate/@EndDate デフォルト値設定とUTC変換
- E-05: `sp_BlitzLock.sql` 行340-344 - @StartDate > @EndDate バリデーション
- E-06: `sp_BlitzLock.sql` 行346-355 - Azure Managed Instance判定とring_buffer設定
- E-07: `sp_BlitzLock.sql` 行357-386 - テーブルターゲット設定と必須パラメータ検証
- E-08: `sp_BlitzLock.sql` 行388-531 - ターゲットデータベース/スキーマ/テーブル/列存在チェック
- E-09: `sp_BlitzLock.sql` 行534-570 - XEセッション存在・アクティブチェック（Azure/非Azure）
- E-10: `sp_BlitzLock.sql` 行572-916 - 出力データベース設定、テーブル作成/更新、シノニム管理
- E-11: `sp_BlitzLock.sql` 行918-942 - RDS環境でのUPDATE STATISTICS制限
- E-12: `sp_BlitzLock.sql` 行944-955 - @DeadlockType正規化処理
- E-13: `sp_BlitzLock.sql` 行960-1001 - @TargetSessionType自動検出（Azure/非Azure）
- E-14: `sp_BlitzLock.sql` 行1008-1059 - ring_bufferからのXML取得（カスタムセッション）
- E-15: `sp_BlitzLock.sql` 行1062-1159 - event_fileからのXML取得
- E-16: `sp_BlitzLock.sql` 行1163-1235 - ring_buffer/event_file XMLの#deadlock_data挿入
- E-17: `sp_BlitzLock.sql` 行1238-1282 - system_healthセッションからのXML取得
- E-18: `sp_BlitzLock.sql` 行1284-1449 - テーブルターゲットからのXML取得と解析
- E-19: `sp_BlitzLock.sql` 行1452-1618 - プロセス情報解析、クライアントオプションデコード
- E-20: `sp_BlitzLock.sql` 行1624-1638 - 実行スタック解析
- E-21: `sp_BlitzLock.sql` 行1643-1677 - リソースリスト取得
- E-22: `sp_BlitzLock.sql` 行1679-1728 - OBJECTロック解析
- E-23: `sp_BlitzLock.sql` 行1733-1773 - PAGEロック解析
- E-24: `sp_BlitzLock.sql` 行1778-1818 - KEYロック解析
- E-25: `sp_BlitzLock.sql` 行1823-1863 - RIDロック解析
- E-26: `sp_BlitzLock.sql` 行1868-1908 - ROWGROUPロック解析
- E-27: `sp_BlitzLock.sql` 行1914-1927 - HEAP index_name修正
- E-28: `sp_BlitzLock.sql` 行1932-1971 - 並列デッドロック解析
- E-29: `sp_BlitzLock.sql` 行1976-1999 - 並列デッドロック重複削除
- E-30: `sp_BlitzLock.sql` 行2004-2014 - owner_id = waiter_idの削除
- E-31: `sp_BlitzLock.sql` 行2016-2063 - is_victim設定、owner_mode/waiter_mode更新
- E-32: `sp_BlitzLock.sql` 行2066-2175 - SQL Agentジョブ名/ステップ名解決
- E-33: `sp_BlitzLock.sql` 行2180-2263 - @sysAssObjIdテーブル情報取得（Azure/非Azure）
- E-34: `sp_BlitzLock.sql` 行2275-2314 - Check 1: データベース別デッドロック集計
- E-35: `sp_BlitzLock.sql` 行2318-2386 - Check 2: SELECT関連デッドロック集計（RCSI検出含む）
- E-36: `sp_BlitzLock.sql` 行2390-2434 - Check 3: オブジェクト別デッドロック集計
- E-37: `sp_BlitzLock.sql` 行2438-2483 - Check 3続き: インデックス別デッドロック集計
- E-38: `sp_BlitzLock.sql` 行2487-2531 - Check 3続き: HEAP別デッドロック集計
- E-39: `sp_BlitzLock.sql` 行2535-2575 - Check 4: Serializableデッドロック集計
- E-40: `sp_BlitzLock.sql` 行2579-2618 - Check 5: Repeatable Readデッドロック集計
- E-41: `sp_BlitzLock.sql` 行2622-2684 - Check 6: ログイン/アプリ/ホスト別デッドロック集計
- E-42: `sp_BlitzLock.sql` 行2688-2762 - Check 7: ロックタイプ別デッドロック集計
- E-43: `sp_BlitzLock.sql` 行2766-2844 - Check 8: sp_BlitzCacheクエリ生成
- E-44: `sp_BlitzLock.sql` 行2848-2902 - Check 8続き: sp_BlitzQueryStoreクエリ生成（2016+/Azure）
- E-45: `sp_BlitzLock.sql` 行2905-2955 - Check 9: ストアドプロシージャ別デッドロック集計
- E-46: `sp_BlitzLock.sql` 行2959-3006 - Check 10: sp_BlitzIndexクエリ生成
- E-47: `sp_BlitzLock.sql` 行3010-3183 - Check 11: オブジェクト別待機時間計算
- E-48: `sp_BlitzLock.sql` 行3187-3349 - Check 12: データベース別待機時間計算
- E-49: `sp_BlitzLock.sql` 行3353-3389 - Check 13: SQL Agentジョブデッドロック集計
- E-50: `sp_BlitzLock.sql` 行3393-3421 - Check 14: 並列デッドロック集計
- E-51: `sp_BlitzLock.sql` 行3425-3481 - Check 15: スリープ/バックグラウンドセッションデッドロック集計
- E-52: `sp_BlitzLock.sql` 行3485-3514 - Check 16: 暗黙トランザクションデッドロック集計
- E-53: `sp_BlitzLock.sql` 行3518-3535 - バージョン情報と結果期間の#deadlock_findings登録
- E-54: `sp_BlitzLock.sql` 行3539-3863 - 最終結果セット生成（deadlocks CTE、#deadlocks作成）
- E-55: `sp_BlitzLock.sql` 行3865-3878 - inputbuf特殊文字サニタイズ
- E-56: `sp_BlitzLock.sql` 行3880-3958 - #deadlock_results作成
- E-57: `sp_BlitzLock.sql` 行3963-4161 - テーブル出力処理（@OutputDatabaseCheck = 0）
- E-58: `sp_BlitzLock.sql` 行4162-4380 - クライアント出力処理、実行プラン取得
- E-59: `sp_BlitzLock.sql` 行4384-4568 - デバッグモード出力
- E-60: `sp_BlitzLock.sql` 行172-207 - Azure/MI/RDS環境判定

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ヘルプモード(@Help=1)でヘルプメッセージが表示されること | E-02 | ○ |
| C-02 | バージョンチェックモード(@VersionCheckMode=1)でバージョン情報が返却されること | E-03 | ○ |
| C-03 | デフォルトパラメータでデッドロック分析が実行されること | E-01, E-04, E-17 | ○ |
| C-04 | @DatabaseNameでフィルタリングが機能すること | E-19, E-54 | ○ |
| C-05 | @StartDate/@EndDateで日付範囲フィルタリングが機能すること | E-04, E-16, E-54 | ○ |
| C-06 | @ObjectNameでフィルタリングが機能すること | E-22, E-54 | ○ |
| C-07 | @StoredProcNameでフィルタリングが機能すること | E-20 | ○ |
| C-08 | @AppNameでフィルタリングが機能すること | E-19 | ○ |
| C-09 | @HostNameでフィルタリングが機能すること | E-19 | ○ |
| C-10 | @LoginNameでフィルタリングが機能すること | E-19 | ○ |
| C-11 | カスタムXEセッション対応 | E-13, E-14, E-15 | ○ |
| C-12 | ring_bufferターゲット対応 | E-14 | ○ |
| C-13 | event_fileターゲット対応 | E-15 | ○ |
| C-14 | テーブルターゲット対応 | E-07, E-18 | ○ |
| C-15 | @VictimsOnlyモード | E-54 | ○ |
| C-16 | Regular Deadlockタイプフィルタリング | E-12, E-54 | ○ |
| C-17 | Parallel Deadlockタイプフィルタリング | E-12, E-54 | ○ |
| C-18 | デバッグモード(@Debug=1) | E-59 | ○ |
| C-19 | 出力データベース設定 | E-10 | ○ |
| C-20 | 出力テーブル自動作成 | E-10 | ○ |
| C-21 | ExportToExcelモード | E-54, E-56 | ○ |
| C-22 | Azure SQL Database対応 | E-09, E-13, E-60 | ○ |
| C-23 | Azure Managed Instance対応 | E-06, E-60 | ○ |
| C-24 | Amazon RDS対応 | E-11, E-60 | ○ |
| C-25 | Check 1: データベース別デッドロック集計 | E-34 | ○ |
| C-26 | Check 2: SELECT関連デッドロック集計 | E-35 | ○ |
| C-27 | Check 3: オブジェクト別デッドロック集計 | E-36 | ○ |
| C-28 | Check 4: Serializableデッドロック集計 | E-39 | ○ |
| C-29 | Check 5: Repeatable Readデッドロック集計 | E-40 | ○ |
| C-30 | Check 6: ログイン/アプリ/ホスト別デッドロック集計 | E-41 | ○ |
| C-31 | Check 7: ロックタイプ別デッドロック集計 | E-42 | ○ |
| C-32 | Check 8: sp_BlitzCache/sp_BlitzQueryStoreクエリ生成 | E-43, E-44 | ○ |
| C-33 | Check 9: ストアドプロシージャ別デッドロック集計 | E-45 | ○ |
| C-34 | Check 10: sp_BlitzIndexクエリ生成 | E-46 | ○ |
| C-35 | Check 11: オブジェクト別待機時間計算 | E-47 | ○ |
| C-36 | Check 12: データベース別待機時間計算 | E-48 | ○ |
| C-37 | Check 13: SQL Agentジョブデッドロック集計 | E-49 | ○ |
| C-38 | Check 14: 並列デッドロック集計 | E-50 | ○ |
| C-39 | Check 15: スリープ/バックグラウンドセッションデッドロック集計 | E-51 | ○ |
| C-40 | Check 16: 暗黙トランザクションデッドロック集計 | E-52 | ○ |
| C-41 | OBJECTロック解析 | E-22 | ○ |
| C-42 | PAGEロック解析 | E-23 | ○ |
| C-43 | KEYロック解析 | E-24 | ○ |
| C-44 | RIDロック解析 | E-25 | ○ |
| C-45 | ROWGROUPロック解析 | E-26 | ○ |
| C-46 | クライアントオプション1デコード | E-19 | ○ |
| C-47 | クライアントオプション2デコード | E-19 | ○ |
| C-48 | デッドロックグラフ抽出 | E-54 | ○ |
| C-49 | 実行プラン取得 | E-58 | ○ |
| C-50 | @StartDate > @EndDateバリデーション | E-05 | ○ |
| C-51 | 存在しないXEセッション名エラー | E-09 | ○ |
| C-52 | アクティブでないXEセッションエラー | E-09 | ○ |
| C-53 | 存在しない出力データベース警告 | E-10 | ○ |
| C-54 | テーブルターゲット@TargetTableName必須 | E-07 | ○ |
| C-55 | テーブルターゲット@TargetColumnName必須 | E-07 | ○ |
| C-56 | ターゲットデータベース存在チェック | E-08 | ○ |
| C-57 | ターゲットスキーマ存在チェック | E-08 | ○ |
| C-58 | ターゲットテーブル存在チェック | E-08 | ○ |
| C-59 | ターゲット列存在チェック | E-08 | ○ |
| C-60 | ターゲット列XML型チェック | E-08 | ○ |
| C-61 | タイムスタンプ列日付型チェック | E-08 | ○ |
| C-62 | 空テーブルチェック | E-18 | ○ |
| C-63 | @StartDateデフォルト値（7日前） | E-04 | ○ |
| C-64 | @EndDateデフォルト値（現在日時） | E-04 | ○ |
| C-65 | デッドロック0件時の空結果 | E-54 | ○ |
| C-66 | デッドロック1件時の正常処理 | E-54 | ○ |
| C-67 | 大量データ処理 | E-54 | ○ |
| C-68 | wait_time最大値処理 | E-47 | ○ |
| C-69 | log_used最小値処理 | E-19 | ○ |
| C-70 | transaction_count最小値処理 | E-19 | ○ |
| C-71 | priority最小値処理 | E-19 | ○ |
| C-72 | priority最大値処理 | E-19 | ○ |
| C-73 | テーブルスキーマ自動更新 | E-10 | ○ |
| C-74 | DeadLockTblシノニム再作成 | E-10 | ○ |
| C-75 | DeadlockFindingsシノニム再作成 | E-10 | ○ |
| C-76 | BlitzLockFindingsテーブル自動作成 | E-10 | ○ |
| C-77 | 複合フィルタリング（DB+日付） | E-54 | ○ |
| C-78 | 複合フィルタリング（アプリ+ホスト+ログイン） | E-54 | ○ |
| C-79 | 複合フィルタリング（VictimsOnly+DeadlockType） | E-54 | ○ |
| C-80 | OutputDatabaseNameとExportToExcelの競合処理 | E-57 | ○ |
| C-81 | inputbuf特殊文字サニタイズ | E-55 | ○ |
| C-82 | object_name特殊文字サニタイズ | E-22 | ○ |
| C-83 | inputbuf Proc形式解決 | E-54 | ○ |
| C-84 | SQL Agentジョブ名解決 | E-32 | ○ |
| C-85 | HEAP名設定 | E-27 | ○ |
| C-86 | 並列デッドロック詳細情報取得（2017 CU5+） | E-28 | ○ |
| C-87 | UTC/ローカル時間変換 | E-04, E-19 | ○ |
| C-88 | xml_deadlock_report解析 | E-16, E-17 | ○ |
| C-89 | database_xml_deadlock_report解析 | E-16 | ○ |
| C-90 | xml_deadlock_report_filtered解析 | E-16 | ○ |
| C-91 | /eventノード形式解析 | E-18 | ○ |
| C-92 | /deadlockノード形式解析 | E-18 | ○ |
| C-93 | タイムスタンプフィルタリング | E-18 | ○ |
| C-94 | system_healthセッション | E-17 | ○ |
| C-95 | sp_BlitzQueryStoreクエリ生成（2016+/Azure） | E-44 | ○ |
| C-96 | RCSI検出 | E-35 | ○ |
| C-97 | owner_id = waiter_id削除 | E-30 | ○ |
| C-98 | 並列デッドロック重複削除 | E-29 | ○ |
| C-99 | 存在しないDB指定時の空結果 | E-54 | ○ |
| C-100 | DeadlockType正規化（regular） | E-12 | ○ |
| C-101 | DeadlockType正規化（parallel） | E-12 | ○ |
| C-102 | victim判定 | E-31 | ○ |
| C-103 | 結果ソート順 | E-54, E-57 | ○ |
| C-104 | deadlock_groupフォーマット | E-54 | ○ |
| C-105 | VICTIMラベル | E-54 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全てのテストケースはソースコードから直接抽出した根拠に基づいている

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**：全てのテストケースはsp_BlitzLock.sqlのソースコードを直接解析して作成されており、パラメータ、処理ロジック、エラーハンドリングの全てに明確な根拠が存在する

## 6) レビュアーチェックリスト（最小）
- [ ] 各パラメータのテストケースが網羅されているか確認
- [ ] 正常系・異常系・境界値のバランスが適切か確認
- [ ] Azure/MI/RDS環境特有の処理のテストケースが含まれているか確認
- [ ] 全16のCheckロジックに対するテストケースが存在するか確認
- [ ] ロックタイプ（OBJECT/PAGE/KEY/RID/ROWGROUP）のテストケースが含まれているか確認
- [ ] 出力モード（テーブル出力/クライアント出力/Excel出力）のテストケースが含まれているか確認
- [ ] 実際のSQL Server環境でのテスト実行可能性を確認
