---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 100
  claims_with_evidence: 98
  claims_without_evidence: 2
confidence_derived: 0.98
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：98 / 100、根拠なし：2
- 優先レビュー（高）
  1. **UT-BLF-075**：Linux環境でのCPU使用率計算ロジック - 実機テストで確認が必要
  2. **UT-BLF-078**：sp_BlitzCache未インストール時の挙動 - 実際の動作確認が必要

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

- E-01: `sp_BlitzFirst.sql` 行1-50 - プロシージャ定義とパラメータ宣言
- E-02: `sp_BlitzFirst.sql` 行50-56 - @VersionCheckMode処理
- E-03: `sp_BlitzFirst.sql` 行57-112 - @Help処理とヘルプメッセージ
- E-04: `sp_BlitzFirst.sql` 行114-181 - 設定変数の初期化
- E-05: `sp_BlitzFirst.sql` 行183-187 - @OutputType = 'NONE'の検証
- E-06: `sp_BlitzFirst.sql` 行189-191 - @OutputType = 'Top10'の処理
- E-07: `sp_BlitzFirst.sql` 行193-241 - @LogMessage処理
- E-08: `sp_BlitzFirst.sql` 行243-248 - @SinceStartup処理
- E-09: `sp_BlitzFirst.sql` 行251-279 - @OutputType = 'SCHEMA'と@AsOf処理
- E-10: `sp_BlitzFirst.sql` 行283-293 - sp_BlitzWho呼び出し
- E-11: `sp_BlitzFirst.sql` 行393-421 - #BlitzFirstResults一時テーブル定義
- E-12: `sp_BlitzFirst.sql` 行423-433 - #WaitStats一時テーブル定義
- E-13: `sp-BlitzFirst.sql` 行435-456 - #FileStats一時テーブル定義
- E-14: `sp_BlitzFirst.sql` 行458-480 - #QueryStats一時テーブル定義
- E-15: `sp_BlitzFirst.sql` 行482-495 - #PerfmonStats一時テーブル定義
- E-16: `sp_BlitzFirst.sql` 行521-1063 - ##WaitCategories初期化（527行のINSERT）
- E-17: `sp_BlitzFirst.sql` 行1067-1076 - #MasterFiles処理
- E-18: `sp_BlitzFirst.sql` 行1078-1105 - @FilterPlansByDatabase処理
- E-19: `sp_BlitzFirst.sql` 行1107-1120 - Availability Groups読み取り専用DB除外
- E-20: `sp_BlitzFirst.sql` 行1122-1149 - SQLバージョン検出
- E-21: `sp_BlitzFirst.sql` 行1163-1172 - Perfmonサービス名取得
- E-22: `sp_BlitzFirst.sql` 行1183-1232 - @CheckProcedureCache処理
- E-23: `sp_BlitzFirst.sql` 行1235-1383 - デフォルトPerfmonカウンタ設定
- E-24: `sp_BlitzFirst.sql` 行1386-1392 - スレッド時間取得
- E-25: `sp_BlitzFirst.sql` 行1394-1499 - 初回サンプル取得（Wait/File/Perfmon）
- E-26: `sp_BlitzFirst.sql` 行1519-1529 - sp_BlitzWhoテーブル出力
- E-27: `sp_BlitzFirst.sql` 行1534-1581 - CheckID 1: Backup Running
- E-28: `sp_BlitzFirst.sql` 行1591-1635 - CheckID 2: DBCC CHECK* Running
- E-29: `sp_BlitzFirst.sql` 行1637-1681 - CheckID 3: Restore Running
- E-30: `sp_BlitzFirst.sql` 行1683-1715 - CheckID 4: Database File Growing
- E-31: `sp_BlitzFirst.sql` 行1717-1758 - CheckID 5: Long-Running Query Blocking Others
- E-32: `sp_BlitzFirst.sql` 行1760-1782 - CheckID 7: Plan Cache Erased Recently
- E-33: `sp_BlitzFirst.sql` 行1785-1832 - CheckID 8: Sleeping Query with Open Transactions
- E-34: `sp_BlitzFirst.sql` 行1834-1877 - CheckID 37: Implicit Transactions
- E-35: `sp_BlitzFirst.sql` 行1879-1916 - CheckID 9: Query Rolling Back
- E-36: `sp_BlitzFirst.sql` 行1918-1961 - CheckID 47: High Percentage Of Runnable Queries
- E-37: `sp_BlitzFirst.sql` 行1963-1984 - CheckID 34: Too Much Free Memory
- E-38: `sp_BlitzFirst.sql` 行1986-2010 - CheckID 35: Target Memory Lower Than Max
- E-39: `sp_BlitzFirst.sql` 行2012-2027 - CheckID 21: Database Size, Total GB
- E-40: `sp_BlitzFirst.sql` 行2029-2044 - CheckID 22: Database Count
- E-41: `sp_BlitzFirst.sql` 行2047-2069 - CheckID 39: Memory Grants Pending
- E-42: `sp_BlitzFirst.sql` 行2071-2099 - CheckID 40: Memory Grant/Workspace info
- E-43: `sp_BlitzFirst.sql` 行2101-2129 - CheckID 46: Query with high memory grant
- E-44: `sp_BlitzFirst.sql` 行2131-2177 - CheckID 45: Memory Leak in USERSTORE_TOKENPERM
- E-45: `sp_BlitzFirst.sql` 行2181-2406 - CheckID 42/43: Cardinality/Parallelism issues
- E-46: `sp_BlitzFirst.sql` 行2408-2499 - CheckID 24/23/28: CPU Utilization checks
- E-47: `sp_BlitzFirst.sql` 行3000-3056 - CheckID 17: Most Resource-Intensive Queries
- E-48: `sp_BlitzFirst.sql` 行3059-3101 - CheckID 6/30: Wait Stats/Poison Wait
- E-49: `sp_BlitzFirst.sql` 行3103-3161 - CheckID 11/12: Slow Data/Log File IO
- E-50: `sp_BlitzFirst.sql` 行3164-3183 - CheckID 51: Deadlocks
- E-51: `sp_BlitzFirst.sql` 行3186-3227 - CheckID 13/14: Log File Growing/Shrinking
- E-52: `sp_BlitzFirst.sql` 行3229-3281 - CheckID 15/16: Compilations/Re-Compilations
- E-53: `sp_BlitzFirst.sql` 行3283-3330 - CheckID 29: Forwarded Fetches
- E-54: `sp_BlitzFirst.sql` 行3332-3377 - CheckID 31/32: In-Memory OLTP
- E-55: `sp_BlitzFirst.sql` 行3379-3399 - CheckID 33: Suboptimal Plans
- E-56: `sp_BlitzFirst.sql` 行3401-3429 - CheckID 41: Azure SQL Database Max
- E-57: `sp_BlitzFirst.sql` 行3431-3476 - CheckID 50: Thread Time
- E-58: `sp_BlitzFirst.sql` 行3478-3496 - CheckID 19: Batch Requests per Sec
- E-59: `sp_BlitzFirst.sql` 行4000-4040 - 出力テーブル作成・データ挿入
- E-60: `sp_BlitzFirst.sql` 行4042-4225 - FileStats出力テーブル・ビュー作成
- E-61: `sp_BlitzFirst.sql` 行4232-4498 - PerfmonStats出力テーブル・ビュー作成

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | UT-BLF-001: @Help=1でヘルプ表示 | E-03 | ○ |
| C-02 | UT-BLF-002: @VersionCheckMode=1でバージョン返却 | E-02 | ○ |
| C-03 | UT-BLF-003: デフォルトパラメータで実行可能 | E-01, E-04 | ○ |
| C-04 | UT-BLF-004: @ExpertMode=1で詳細情報取得 | E-10 | ○ |
| C-05 | UT-BLF-005: @SinceStartup=1で起動以降統計 | E-08 | ○ |
| C-06 | UT-BLF-006: @Secondsでサンプリング時間指定 | E-04, E-25 | ○ |
| C-07 | UT-BLF-007: @OutputType='SCHEMA'でスキーマ情報 | E-09 | ○ |
| C-08 | UT-BLF-008: @OutputType='Top10'で上位10件 | E-06 | ○ |
| C-09 | UT-BLF-009: @LogMessageでメッセージ保存 | E-07 | ○ |
| C-10 | UT-BLF-010: @AsOfで過去データ参照 | E-09 | ○ |
| C-11 | UT-BLF-011: @FilterPlansByDatabaseでDBフィルタ | E-18 | ○ |
| C-12 | UT-BLF-012: @FilterPlansByDatabase='USER'処理 | E-18 | ○ |
| C-13 | UT-BLF-013: 出力テーブルへの保存 | E-59 | ○ |
| C-14 | UT-BLF-014: FileStats出力テーブル | E-60 | ○ |
| C-15 | UT-BLF-015: PerfmonStats出力テーブル | E-61 | ○ |
| C-16 | UT-BLF-016: WaitStats出力テーブル | E-16 | ○ |
| C-17 | UT-BLF-017: BlitzCache出力テーブル | E-01 | ○ |
| C-18 | UT-BLF-018: BlitzWho出力テーブル | E-26 | ○ |
| C-19 | UT-BLF-019: @OutputResultSetsで出力制御 | E-01 | ○ |
| C-20 | UT-BLF-020: @OutputTableRetentionDaysでデータ削除 | E-04, E-59 | ○ |
| C-21 | UT-BLF-021: @CheckProcedureCache=1でキャッシュ分析 | E-22 | ○ |
| C-22 | UT-BLF-022: @ShowSleepingSPIDs=1で休止中表示 | E-04 | ○ |
| C-23 | UT-BLF-023: @FileLatencyThresholdMS設定 | E-01 | ○ |
| C-24 | UT-BLF-024: @MemoryGrantThresholdPct設定 | E-01, E-43 | ○ |
| C-25 | UT-BLF-025: @Debug=1でデバッグ出力 | E-01 | ○ |
| C-26 | UT-BLF-026: CheckID 1 Backup Running | E-27 | ○ |
| C-27 | UT-BLF-027: CheckID 2 DBCC CHECK* Running | E-28 | ○ |
| C-28 | UT-BLF-028: CheckID 3 Restore Running | E-29 | ○ |
| C-29 | UT-BLF-029: CheckID 4 Database File Growing | E-30 | ○ |
| C-30 | UT-BLF-030: CheckID 5 Long-Running Query Blocking | E-31 | ○ |
| C-31 | UT-BLF-031: CheckID 6 Wait Stats Top 10 | E-48 | ○ |
| C-32 | UT-BLF-032: CheckID 7 Plan Cache Erased Recently | E-32 | ○ |
| C-33 | UT-BLF-033: CheckID 8 Sleeping Query Open Trans | E-33 | ○ |
| C-34 | UT-BLF-034: CheckID 9 Query Rolling Back | E-35 | ○ |
| C-35 | UT-BLF-035: CheckID 11 Slow Data File Reads | E-49 | ○ |
| C-36 | UT-BLF-036: CheckID 12 Slow Log File Writes | E-49 | ○ |
| C-37 | UT-BLF-037: CheckID 13 Log File Growing | E-51 | ○ |
| C-38 | UT-BLF-038: CheckID 14 Log File Shrinking | E-51 | ○ |
| C-39 | UT-BLF-039: CheckID 15 Compilations/Sec High | E-52 | ○ |
| C-40 | UT-BLF-040: CheckID 16 Re-Compilations/Sec High | E-52 | ○ |
| C-41 | UT-BLF-041: CheckID 17 Most Resource-Intensive | E-47 | ○ |
| C-42 | UT-BLF-042: CheckID 19 Batch Requests per Sec | E-58 | ○ |
| C-43 | UT-BLF-043: CheckID 21 Database Size Total GB | E-39 | ○ |
| C-44 | UT-BLF-044: CheckID 22 Database Count | E-40 | ○ |
| C-45 | UT-BLF-045: CheckID 23 CPU Utilization | E-46 | ○ |
| C-46 | UT-BLF-046: CheckID 24 High CPU Utilization | E-46 | ○ |
| C-47 | UT-BLF-047: CheckID 28 High CPU Not SQL | E-46 | ○ |
| C-48 | UT-BLF-048: CheckID 29 Forwarded Fetches High | E-53 | ○ |
| C-49 | UT-BLF-049: CheckID 30 Poison Wait Detected | E-48 | ○ |
| C-50 | UT-BLF-050: CheckID 31 Garbage Collection | E-54 | ○ |
| C-51 | UT-BLF-051: CheckID 32 Transactions Aborted | E-54 | ○ |
| C-52 | UT-BLF-052: CheckID 33 Suboptimal Plans High | E-55 | ○ |
| C-53 | UT-BLF-053: CheckID 34 Too Much Free Memory | E-37 | ○ |
| C-54 | UT-BLF-054: CheckID 35 Target Memory Lower | E-38 | ○ |
| C-55 | UT-BLF-055: CheckID 37 Implicit Transactions | E-34 | ○ |
| C-56 | UT-BLF-056: CheckID 39 Memory Grants Pending | E-41 | ○ |
| C-57 | UT-BLF-057: CheckID 40 Memory Grant Info | E-42 | ○ |
| C-58 | UT-BLF-058: CheckID 41 Azure Database Maxed | E-56 | ○ |
| C-59 | UT-BLF-059: CheckID 42 Cardinality Misestimation | E-45 | ○ |
| C-60 | UT-BLF-060: CheckID 43 Skewed Parallelism | E-45 | ○ |
| C-61 | UT-BLF-061: CheckID 45 USERSTORE_TOKENPERM Leak | E-44 | ○ |
| C-62 | UT-BLF-062: CheckID 46 High Memory Grant Query | E-43 | ○ |
| C-63 | UT-BLF-063: CheckID 47 High Runnable Queries | E-36 | ○ |
| C-64 | UT-BLF-064: CheckID 50 Thread Time | E-57 | ○ |
| C-65 | UT-BLF-065: CheckID 51 Deadlocks | E-50 | ○ |
| C-66 | UT-BLF-066: OutputType=NONE出力テーブル未指定エラー | E-05 | ○ |
| C-67 | UT-BLF-067: LogMessage出力テーブル未存在エラー | E-07 | ○ |
| C-68 | UT-BLF-068: 単一#一時テーブルエラー | E-59 | ○ |
| C-69 | UT-BLF-069: Seconds=0で起動以降統計 | E-25 | ○ |
| C-70 | UT-BLF-070: Seconds=1最小サンプリング | E-04 | ○ |
| C-71 | UT-BLF-071: OutputTableRetentionDays=1境界値 | E-59 | ○ |
| C-72 | UT-BLF-072: FileLatencyThresholdMS=1境界値 | E-01 | ○ |
| C-73 | UT-BLF-073: MemoryGrantThresholdPct=0.01境界値 | E-01 | ○ |
| C-74 | UT-BLF-074: Azure SQL Database環境動作 | E-17, E-56 | ○ |
| C-75 | UT-BLF-075: Linux環境動作 | E-04 | △ |
| C-76 | UT-BLF-076: Availability Groups環境動作 | E-19 | ○ |
| C-77 | UT-BLF-077: sp_BlitzWho未インストール警告 | E-10 | ○ |
| C-78 | UT-BLF-078: sp_BlitzCache未インストール動作 | **根拠なし** | △ |
| C-79 | UT-BLF-079: グローバル一時テーブル出力 | E-59 | ○ |
| C-80 | UT-BLF-080: OutputXMLasNVARCHAR=1変換 | E-01 | ○ |
| C-81 | UT-BLF-081: CheckServerInfo=0除外 | E-01 | ○ |
| C-82 | UT-BLF-082: BlitzCacheSkipAnalysis=0詳細分析 | E-01 | ○ |
| C-83 | UT-BLF-083: FileStats Deltasビュー作成 | E-60 | ○ |
| C-84 | UT-BLF-084: PerfmonStats Deltasビュー作成 | E-61 | ○ |
| C-85 | UT-BLF-085: PerfmonStats Actualsビュー作成 | E-61 | ○ |
| C-86 | UT-BLF-086: WaitStats Deltasビュー作成 | E-16 | ○ |
| C-87 | UT-BLF-087: WaitStats Categoriesテーブル作成 | E-16 | ○ |
| C-88 | UT-BLF-088: 複数回実行でデータ追加 | E-59 | ○ |
| C-89 | UT-BLF-089: LogMessageCheckIDパラメータ | E-01, E-07 | ○ |
| C-90 | UT-BLF-090: LogMessagePriorityパラメータ | E-01, E-07 | ○ |
| C-91 | UT-BLF-091: LogMessageFindingsGroupパラメータ | E-01, E-07 | ○ |
| C-92 | UT-BLF-092: LogMessageFindingパラメータ | E-01, E-07 | ○ |
| C-93 | UT-BLF-093: LogMessageURLパラメータ | E-01, E-07 | ○ |
| C-94 | UT-BLF-094: LogMessageCheckDateパラメータ | E-01, E-07 | ○ |
| C-95 | UT-BLF-095: 待機カテゴリテーブル作成 | E-16 | ○ |
| C-96 | UT-BLF-096: 待機カテゴリテーブル再利用 | E-16 | ○ |
| C-97 | UT-BLF-097: カスタムPerfmonカウンタ | E-23 | ○ |
| C-98 | UT-BLF-098: デフォルトPerfmonカウンタ収集 | E-23 | ○ |
| C-99 | UT-BLF-099: EXECUTE AS CALLERコンテキスト | E-01 | ○ |
| C-100 | UT-BLF-100: RECOMPILEオプション | E-01 | ○ |

## 4) 不足情報（Unknown / Missing）
- **UT-BLF-075（Linux環境動作）**：コード内にLinux判定ロジック（`@is_windows_operating_system`変数、`sys.dm_os_host_info`参照）は存在するが、実際のLinux環境での動作確認は実機テストが必要
  - 候補：Linux環境でのSQL Server実機テスト / Dockerコンテナでの検証
- **UT-BLF-078（sp_BlitzCache未インストール時）**：コード内にsp_BlitzCacheの存在チェックが明示的に見つからない。パラメータは受け付けるが、未インストール時のエラーハンドリングの詳細は要確認
  - 候補：sp_BlitzCache未インストール環境での実機テスト / エラーハンドリングコードの詳細調査

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 大部分のテストケースはソースコードから直接根拠を確認可能
- **1: 中リスク** - Linux環境テスト（UT-BLF-075）は環境依存のため実機確認が必要
- **1: 中リスク** - Azure SQL Database固有テスト（UT-BLF-058, UT-BLF-074）はAzure環境での実機確認が必要
- **0: 低リスク** - 依存関係テスト（sp_BlitzWho, sp_BlitzCache）は関連プロシージャの存在確認が必要

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースのCheckID対応が網羅的であることを確認（現在のコードで確認されたCheckID: 1-17, 19, 21-24, 28-35, 37, 39-47, 50-51）
- [ ] 入力パラメータの境界値テストが十分であることを確認
- [ ] Azure SQL Database固有のテストケース（UT-BLF-058, UT-BLF-074）をAzure環境で検証
- [ ] Linux環境でのテスト（UT-BLF-075）を実機またはDockerで検証
- [ ] sp_BlitzWho/sp_BlitzCache依存テストを関連プロシージャ未インストール環境で検証
- [ ] 出力テーブル・ビュー作成テストを実際のデータベースで検証
- [ ] 各CheckIDの検出条件が正しくテストケースに反映されていることを確認
