"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-BLZ-001","sp_Blitz.sql","sp_Blitz","N/A","正常系","ヘルプモードで実行した場合にヘルプテキストが出力されること","SQL Server接続済み","@Help = 1","ヘルプテキストがPRINTで出力され、RETURNで終了","中","@Help = 1 でヘルプ情報を表示"
"2","UT-BLZ-002","sp_Blitz.sql","sp_Blitz","N/A","正常系","バージョンチェックモードで実行した場合に即時終了すること","SQL Server接続済み","@VersionCheckMode = 1","何も出力せずRETURNで終了","中","バージョン確認のみを行う軽量モード"
"3","UT-BLZ-003","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'TABLE' で結果がテーブル形式で返却されること","SQL Server接続済み","@OutputType = 'TABLE'","Priority, FindingsGroup, Finding, DatabaseName, URL, Details, QueryPlan, QueryPlanFiltered, CheckIDの列を持つ結果セットが返却","高","デフォルト出力形式"
"4","UT-BLZ-004","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'COUNT' で検出件数のみ返却されること","SQL Server接続済み","@OutputType = 'COUNT'","Warnings列に数値が返却される単一行の結果セット","中","カウントモード"
"5","UT-BLZ-005","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'SCHEMA' でスキーマ情報のみ返却されること","SQL Server接続済み","@OutputType = 'SCHEMA'","FieldList列にスキーマ定義文字列が返却","中","スキーマ確認用"
"6","UT-BLZ-006","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'CSV' でCSV形式の結果が返却されること","SQL Server接続済み","@OutputType = 'CSV'","カンマ区切りのResult列が返却","中","CSV出力形式"
"7","UT-BLZ-007","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'RSV' でRSV形式の結果が返却されること","SQL Server接続済み","@OutputType = 'RSV'","CHAR(31)区切りのResult列が返却","低","RSV出力形式"
"8","UT-BLZ-008","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'MARKDOWN' でMarkdown形式の結果が返却されること","SQL Server接続済み","@OutputType = 'MARKDOWN'","Markdown形式のテキストが返却","中","Markdown出力形式"
"9","UT-BLZ-009","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'XML' でXML形式の結果が返却されること","SQL Server接続済み","@OutputType = 'XML'","sp_Blitz_OutputをルートとするXMLが返却","中","XML出力形式"
"10","UT-BLZ-010","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputType = 'NONE' で結果が返却されないこと","SQL Server接続済み","@OutputType = 'NONE'","結果セットが返却されない","中","出力なしモード"
"11","UT-BLZ-011","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckUserDatabaseObjects = 1 でユーザーデータベースオブジェクトがチェックされること","SQL Server接続済み、ユーザーデータベースが存在","@CheckUserDatabaseObjects = 1","ユーザーデータベース関連のチェック結果が含まれる","高","ユーザーDB対象チェック"
"12","UT-BLZ-012","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckUserDatabaseObjects = 0 でユーザーデータベースオブジェクトがスキップされること","SQL Server接続済み","@CheckUserDatabaseObjects = 0","ユーザーデータベース関連のチェックがスキップされる","中","ユーザーDBスキップ"
"13","UT-BLZ-013","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckProcedureCache = 1 でプロシージャキャッシュがチェックされること","SQL Server接続済み、プロシージャキャッシュに実行計画が存在","@CheckProcedureCache = 1","プロシージャキャッシュ関連のチェック結果が含まれる","中","プロシージャキャッシュ分析"
"14","UT-BLZ-014","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputProcedureCache = 1 でプロシージャキャッシュ詳細が出力されること","SQL Server接続済み","@CheckProcedureCache = 1, @OutputProcedureCache = 1","プロシージャキャッシュの上位20件が2つ目の結果セットとして返却","中","キャッシュ詳細出力"
"15","UT-BLZ-015","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckProcedureCacheFilter = 'CPU' でCPU順にソートされること","SQL Server接続済み","@CheckProcedureCache = 1, @OutputProcedureCache = 1, @CheckProcedureCacheFilter = 'CPU'","total_worker_time降順でソートされた結果","中","CPUフィルタ"
"16","UT-BLZ-016","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckProcedureCacheFilter = 'Reads' でReads順にソートされること","SQL Server接続済み","@CheckProcedureCache = 1, @OutputProcedureCache = 1, @CheckProcedureCacheFilter = 'Reads'","total_logical_reads降順でソートされた結果","中","Readsフィルタ"
"17","UT-BLZ-017","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckProcedureCacheFilter = 'Duration' でDuration順にソートされること","SQL Server接続済み","@CheckProcedureCache = 1, @OutputProcedureCache = 1, @CheckProcedureCacheFilter = 'Duration'","total_elapsed_time降順でソートされた結果","中","Durationフィルタ"
"18","UT-BLZ-018","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckProcedureCacheFilter = 'ExecCount' で実行回数順にソートされること","SQL Server接続済み","@CheckProcedureCache = 1, @OutputProcedureCache = 1, @CheckProcedureCacheFilter = 'ExecCount'","execution_count降順でソートされた結果","中","ExecCountフィルタ"
"19","UT-BLZ-019","sp_Blitz.sql","sp_Blitz","N/A","正常系","@CheckServerInfo = 1 でサーバー情報が含まれること","SQL Server接続済み","@CheckServerInfo = 1","FindingsGroup = 'Server Info' のレコードが含まれる","中","サーバー情報チェック"
"20","UT-BLZ-020","sp_Blitz.sql","sp_Blitz","N/A","正常系","@IgnorePrioritiesBelow で指定値未満の優先度がフィルタされること","SQL Server接続済み","@IgnorePrioritiesBelow = 50","Priority < 50 のレコードが結果から除外される","中","優先度下限フィルタ"
"21","UT-BLZ-021","sp_Blitz.sql","sp_Blitz","N/A","正常系","@IgnorePrioritiesAbove で指定値超の優先度がフィルタされること","SQL Server接続済み","@IgnorePrioritiesAbove = 100","Priority > 100 のレコードが結果から除外される","中","優先度上限フィルタ"
"22","UT-BLZ-022","sp_Blitz.sql","sp_Blitz","N/A","正常系","@SummaryMode = 1 で重複結果がサマリー化されること","SQL Server接続済み","@SummaryMode = 1","同一Finding, FindingsGroup, Priorityのレコードが集約され件数付きで表示","中","サマリーモード"
"23","UT-BLZ-023","sp_Blitz.sql","sp_Blitz","N/A","正常系","@BringThePain = 1 で50以上のDBでもチェックが実行されること","SQL Server接続済み、50以上のデータベースが存在","@BringThePain = 1, @CheckUserDatabaseObjects = 1","大規模環境でもユーザーDBチェックが実行される","中","大規模環境対応"
"24","UT-BLZ-024","sp_Blitz.sql","sp_Blitz","N/A","正常系","@Debug = 1 でデバッグメッセージが出力されること","SQL Server接続済み","@Debug = 1","RAISERRORによるデバッグメッセージが出力される","低","デバッグモード1"
"25","UT-BLZ-025","sp_Blitz.sql","sp_Blitz","N/A","正常系","@Debug = 2 で動的SQLも出力されること","SQL Server接続済み","@Debug = 2","デバッグメッセージに加え、動的SQLがPRINTされる","低","デバッグモード2"
"26","UT-BLZ-026","sp_Blitz.sql","sp_Blitz","N/A","正常系","@SkipChecksTable 指定でスキップ対象チェックが除外されること","SQL Server接続済み、スキップテーブルが存在","@SkipChecksDatabase = 'DBAtools', @SkipChecksSchema = 'dbo', @SkipChecksTable = 'BlitzChecksToSkip'","スキップテーブルに登録されたチェックが結果から除外される","高","スキップチェック機能"
"27","UT-BLZ-027","sp_Blitz.sql","sp_Blitz","N/A","正常系","@SkipChecksServer 指定でリモートサーバーのスキップテーブルが参照されること","SQL Server接続済み、リンクサーバーとスキップテーブルが存在","@SkipChecksServer = 'LinkedServer', @SkipChecksDatabase = 'DBAtools', @SkipChecksSchema = 'dbo', @SkipChecksTable = 'BlitzChecksToSkip'","リンクサーバー上のスキップテーブルが参照される","中","リモートスキップチェック"
"28","UT-BLZ-028","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputDatabaseName/SchemaName/TableName で結果がテーブルに保存されること","SQL Server接続済み、出力先スキーマが存在","@OutputDatabaseName = 'DBAtools', @OutputSchemaName = 'dbo', @OutputTableName = 'BlitzResults'","指定テーブルに結果が挿入される","高","テーブル出力"
"29","UT-BLZ-029","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputServerName 指定でリンクサーバーに結果が出力されること","SQL Server接続済み、リンクサーバーと出力先DBが存在","@OutputServerName = 'LinkedServer', @OutputDatabaseName = 'DBAtools', @OutputSchemaName = 'dbo', @OutputTableName = 'BlitzResults'","リンクサーバー上のテーブルに結果が挿入される","中","リモートテーブル出力"
"30","UT-BLZ-030","sp_Blitz.sql","sp_Blitz","N/A","正常系","@OutputXMLasNVARCHAR = 1 でQueryPlanがNVARCHARとして出力されること","SQL Server接続済み","@OutputXMLasNVARCHAR = 1","QueryPlan列がXML型ではなくNVARCHAR(MAX)で返却","中","XMLをNVARCHAR変換"
"31","UT-BLZ-031","sp_Blitz.sql","sp_Blitz","N/A","正常系","@EmailRecipients 指定で結果がメール送信されること","SQL Server接続済み、Database Mailが設定済み","@EmailRecipients = 'admin@example.com'","sp_send_dbmailが呼び出され結果がCSV添付でメール送信される","中","メール送信機能"
"32","UT-BLZ-032","sp_Blitz.sql","sp_Blitz","N/A","正常系","@EmailProfile 指定で指定プロファイルでメール送信されること","SQL Server接続済み、Database Mailプロファイルが設定済み","@EmailRecipients = 'admin@example.com', @EmailProfile = 'DBMailProfile'","指定プロファイルでメールが送信される","中","メールプロファイル指定"
"33","UT-BLZ-033","sp_Blitz.sql","sp_Blitz","N/A","正常系","@UsualDBOwner 指定で期待オーナーと異なるDBが検出されること","SQL Server接続済み、DBが存在","@UsualDBOwner = 'sa'","DBオーナーがsaでないデータベースが検出される","中","DBオーナーチェック"
"34","UT-BLZ-034","sp_Blitz.sql","sp_Blitz","N/A","正常系","@UsualOwnerOfJobs 指定で期待オーナーと異なるジョブが検出されること","SQL Server接続済み、SQL Agentジョブが存在","@UsualOwnerOfJobs = 'sa'","ジョブオーナーがsaでないジョブが検出される","中","ジョブオーナーチェック"
"35","UT-BLZ-035","sp_Blitz.sql","sp_Blitz","N/A","正常系","@SkipBlockingChecks = 1 でブロッキングチェックがスキップされること","SQL Server接続済み","@SkipBlockingChecks = 1","ブロッキング関連のチェックがスキップされる","中","ブロッキングチェックスキップ"
"36","UT-BLZ-036","sp_Blitz.sql","sp_Blitz","N/A","正常系","@Version OUTPUT で現在のバージョンが取得できること","SQL Server接続済み","DECLARE @Ver VARCHAR(30); EXEC sp_Blitz @Version = @Ver OUTPUT","@Versionにバージョン文字列が設定される","中","バージョン取得"
"37","UT-BLZ-037","sp_Blitz.sql","sp_Blitz","N/A","正常系","@VersionDate OUTPUT で現在のバージョン日付が取得できること","SQL Server接続済み","DECLARE @VerDate DATETIME; EXEC sp_Blitz @VersionDate = @VerDate OUTPUT","@VersionDateにバージョン日付が設定される","中","バージョン日付取得"
"38","UT-BLZ-038","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 1: 7日以上バックアップされていないDBが検出されること","バックアップが7日以上前のDBが存在","デフォルトパラメータ","CheckID = 1, FindingsGroup = 'Backup', Finding = 'Backups Not Performed Recently' のレコード","高","バックアップ未実施チェック"
"39","UT-BLZ-039","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 2: フルリカバリモデルでログバックアップ未実施のDBが検出されること","フルリカバリモデルでログバックアップが7日以上前のDBが存在","デフォルトパラメータ","CheckID = 2, Finding = 'Full Recovery Model w/o Log Backups' のレコード","高","ログバックアップ未実施チェック"
"40","UT-BLZ-040","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 4: sysadminロールのログインが検出されること","sysadminロールに複数のログインが存在","デフォルトパラメータ","CheckID = 4, FindingsGroup = 'Security', Finding = 'Sysadmins' のレコード","高","sysadminチェック"
"41","UT-BLZ-041","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 6: ユーザーが所有するジョブが検出されること","sa以外がオーナーの有効ジョブが存在","デフォルトパラメータ","CheckID = 6, Finding = 'Jobs Owned By Users' のレコード","中","ジョブオーナーチェック"
"42","UT-BLZ-042","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 12: Auto-Close有効のDBが検出されること","is_auto_close_on = 1のDBが存在","デフォルトパラメータ","CheckID = 12, Finding = 'Auto-Close Enabled' のレコード","高","Auto-Closeチェック"
"43","UT-BLZ-043","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 13: Auto-Shrink有効のDBが検出されること","is_auto_shrink_on = 1のDBが存在","デフォルトパラメータ","CheckID = 13, Finding = 'Auto-Shrink Enabled' のレコード","高","Auto-Shrinkチェック"
"44","UT-BLZ-044","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 14: ページ検証がCHECKSUM以外のDBが検出されること","page_verify_option < 2のDBが存在","デフォルトパラメータ","CheckID = 14, Finding = 'Page Verification Not Optimal' のレコード","高","ページ検証チェック"
"45","UT-BLZ-045","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 21: TDE有効のDBが検出されること","is_encrypted = 1のDBが存在","デフォルトパラメータ","CheckID = 21, Finding = 'Database Encrypted' のレコード","中","TDEチェック"
"46","UT-BLZ-046","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 22: デフォルト以外のサーバー構成が検出されること","sp_configureの値がデフォルトと異なる設定が存在","デフォルトパラメータ","CheckID >= 1001, FindingsGroup = 'Non-Default Server Config' のレコード","中","サーバー構成チェック"
"47","UT-BLZ-047","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 68: 最新の正常DBCC CHECKDBが古いDBが検出されること","DBCC CHECKDBが7日以上前のDBが存在","sysadmin権限で実行","CheckID = 68 のレコード","高","DBCC CHECKDBチェック"
"48","UT-BLZ-048","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 69: VLF数が多いDBが検出されること","VLF数が50以上のDBが存在","sysadmin権限で実行","CheckID = 69 のレコード","中","VLFチェック"
"49","UT-BLZ-049","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 73: フェイルセーフオペレーターが未設定の場合に検出されること","フェイルセーフオペレーターが未設定","デフォルトパラメータ","CheckID = 73 のレコード","中","フェイルセーフオペレーターチェック"
"50","UT-BLZ-050","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 92: ドライブ空き容量情報が出力されること","@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 92, Finding LIKE 'Drive%Space' のレコード","中","ドライブ空き容量"
"51","UT-BLZ-051","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 93: DBファイルと同じドライブにバックアップが検出されること","DBファイルと同じドライブにバックアップが存在","デフォルトパラメータ","CheckID = 93, Finding = 'Backing Up to Same Drive Where Databases Reside' のレコード","高","バックアップ先チェック"
"52","UT-BLZ-052","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 119: TDE証明書が30日以上バックアップされていない場合に検出されること","TDE証明書のバックアップが30日以上前","デフォルトパラメータ","CheckID = 119, Finding = 'TDE Certificate Not Backed Up Recently' のレコード","高","TDE証明書バックアップチェック"
"53","UT-BLZ-053","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 152: 待機統計の上位9件が出力されること","@CheckServerInfo = 1、待機統計が存在","@CheckServerInfo = 1","CheckID = 152, FindingsGroup = 'Wait Stats' のレコード（最大9件）","中","待機統計チェック"
"54","UT-BLZ-054","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 211: 電源プランが出力されること（Windows環境）","Windows環境で@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 211, Finding = 'Power Plan' のレコード","中","電源プランチェック"
"55","UT-BLZ-055","sp_Blitz.sql","sp_Blitz","N/A","境界値","@IgnorePrioritiesBelow = 0 で全てのチェック結果が含まれること","SQL Server接続済み","@IgnorePrioritiesBelow = 0","Priority >= 0 の全レコードが含まれる","低","優先度下限境界値"
"56","UT-BLZ-056","sp_Blitz.sql","sp_Blitz","N/A","境界値","@IgnorePrioritiesAbove = 255 で全てのチェック結果が含まれること","SQL Server接続済み","@IgnorePrioritiesAbove = 255","Priority <= 255 の全レコードが含まれる","低","優先度上限境界値"
"57","UT-BLZ-057","sp_Blitz.sql","sp_Blitz","N/A","境界値","@IgnorePrioritiesBelow = 255 で結果がほぼ空になること","SQL Server接続済み","@IgnorePrioritiesBelow = 255","CheckID = -1（クレジット）以外の結果がほぼ空","低","優先度下限最大値"
"58","UT-BLZ-058","sp_Blitz.sql","sp_Blitz","N/A","境界値","データベースが0件（システムDBのみ）の場合にエラーなく完了すること","ユーザーDBが存在しない","デフォルトパラメータ","エラーなく実行完了、結果にユーザーDB関連チェックが含まれない","中","ユーザーDB 0件"
"59","UT-BLZ-059","sp_Blitz.sql","sp_Blitz","N/A","境界値","50以上のデータベースが存在する場合に警告が出力されること","50以上のユーザーDBが存在","@CheckUserDatabaseObjects = 1, @BringThePain = 0","CheckID = 201, Finding = '@CheckUserDatabaseObjects Disabled' が出力","中","50DB以上の境界"
"60","UT-BLZ-060","sp_Blitz.sql","sp_Blitz","N/A","境界値","サーバー起動から1日未満でもエラーなく完了すること","サーバー起動から1日未満","デフォルトパラメータ","@DaysUptime = 0.01 として計算され、エラーなく完了","中","サーバー稼働1日未満"
"61","UT-BLZ-061","sp_Blitz.sql","sp_Blitz","N/A","異常系","存在しない@SkipChecksDatabase指定時にエラーが発生しないこと","指定DBが存在しない","@SkipChecksDatabase = 'NonExistentDB', @SkipChecksSchema = 'dbo', @SkipChecksTable = 'SkipChecks'","スキップ処理がスキップされ、通常通り実行完了","中","存在しないスキップDB"
"62","UT-BLZ-062","sp_Blitz.sql","sp_Blitz","N/A","異常系","存在しない@OutputDatabaseName指定時にエラーが発生すること","指定DBが存在しない","@OutputDatabaseName = 'NonExistentDB', @OutputSchemaName = 'dbo', @OutputTableName = 'Results'","RAISERROR 'The specified output database was not found on this server' が発生","高","存在しない出力先DB"
"63","UT-BLZ-063","sp_Blitz.sql","sp_Blitz","N/A","異常系","存在しないリンクサーバー指定時にエラーが発生すること","リンクサーバーが存在しない","@OutputServerName = 'NonExistentServer', @OutputDatabaseName = 'DBAtools', @OutputSchemaName = 'dbo', @OutputTableName = 'Results'","RAISERROR 'The specified output server was not found' が発生","高","存在しないリンクサーバー"
"64","UT-BLZ-064","sp_Blitz.sql","sp_Blitz","N/A","異常系","リンクサーバー上の存在しないDB指定時にエラーが発生すること","リンクサーバーは存在するがDBが存在しない","@OutputServerName = 'ValidServer', @OutputDatabaseName = 'NonExistentDB', @OutputSchemaName = 'dbo', @OutputTableName = 'Results'","RAISERROR 'The specified database was not found on the output server' が発生","高","リンクサーバー上の存在しないDB"
"65","UT-BLZ-065","sp_Blitz.sql","sp_Blitz","N/A","異常系","ローカル一時テーブル名指定時にエラーが発生すること","なし","@OutputTableName = '#TempResults'","RAISERROR 'only global temp tables are supported' が発生","中","ローカル一時テーブル禁止"
"66","UT-BLZ-066","sp_Blitz.sql","sp_Blitz","N/A","異常系","リンクサーバーへの一時テーブル出力指定時にエラーが発生すること","リンクサーバーが存在","@OutputServerName = 'ValidServer', @OutputTableName = '##TempResults'","RAISERROR 'requires a permanent table' が発生","中","リンクサーバーへの一時テーブル禁止"
"67","UT-BLZ-067","sp_Blitz.sql","sp_Blitz","N/A","異常系","VIEW SERVER STATE権限がない場合にエラーが発生すること","VIEW SERVER STATE権限なし","デフォルトパラメータ","RAISERROR 'does not have VIEW SERVER STATE permissions' が発生しRETURN","高","権限チェック"
"68","UT-BLZ-068","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","sysadmin以外のユーザーで実行した場合に警告が出力されること","非sysadminユーザーで実行","デフォルトパラメータ","CheckID = 223, Finding = 'Some Checks Skipped' が出力","高","非sysadmin警告"
"69","UT-BLZ-069","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","Amazon RDS環境でRDS固有のチェックがスキップされること","Amazon RDS環境","デフォルトパラメータ","CheckID = 223, URL = 'https://aws.amazon.com/rds/sqlserver/' が出力","中","Amazon RDS対応"
"70","UT-BLZ-070","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","Azure Managed Instance環境でMI固有のチェックがスキップされること","Azure Managed Instance環境（EngineEdition = 8）","デフォルトパラメータ","CheckID = 223, URL LIKE '%managed-instance%' が出力","中","Azure MI対応"
"71","UT-BLZ-071","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","Express Edition環境でExpress固有のチェックがスキップされること","SQL Server Express Edition","デフォルトパラメータ","CheckID = 223 が出力、SQL Agent関連チェックがスキップ","中","Express Edition対応"
"72","UT-BLZ-072","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","互換性レベル90未満のDBが存在する場合に警告が出力されること","compatibility_level < 90のDBが存在","@CheckUserDatabaseObjects = 1","CheckID = 204, Finding = '@CheckUserDatabaseObjects Disabled' が出力","中","互換性レベル制限"
"73","UT-BLZ-073","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","Numeric_RoundAbort有効のDBが存在する場合にセッション設定が変更されること","is_numeric_roundabort_on = 1のDBが存在","デフォルトパラメータ","SET NUMERIC_ROUNDABORT OFF が実行され、終了時に復元","低","Numeric_RoundAbort対応"
"74","UT-BLZ-074","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","グローバル一時テーブルへの出力が正常に動作すること","なし","@OutputTableName = '##BlitzResults'","##BlitzResultsテーブルが作成され結果が挿入される","中","グローバル一時テーブル出力"
"75","UT-BLZ-075","sp_Blitz.sql","sp_Blitz","N/A","状態・条件","Linux環境でWindows固有のチェックがスキップされること","Linux環境（dm_os_host_info.host_platform <> 'Windows'）","デフォルトパラメータ","xp_fixeddrives、xp_regread等のWindows固有チェックがスキップ","中","Linux対応"
"76","UT-BLZ-076","sp_Blitz.sql","sp_Blitz","N/A","正常系","既存の出力テーブルが存在する場合にデータが追加されること","出力テーブルが既存","@OutputDatabaseName = 'DBAtools', @OutputSchemaName = 'dbo', @OutputTableName = 'BlitzResults'（既存テーブル）","既存テーブルに新規行が追加される（テーブルは再作成されない）","中","既存テーブルへの追加"
"77","UT-BLZ-077","sp_Blitz.sql","sp_Blitz","N/A","正常系","出力テーブルにServerName列が正しく記録されること","なし","@OutputDatabaseName, @OutputSchemaName, @OutputTableName を指定","ServerName列にSERVERPROPERTY('ServerName')の値が記録","中","ServerName記録"
"78","UT-BLZ-078","sp_Blitz.sql","sp_Blitz","N/A","正常系","出力テーブルにCheckDate列が正しく記録されること","なし","@OutputDatabaseName, @OutputSchemaName, @OutputTableName を指定","CheckDate列にSYSDATETIMEOFFSET()の値が記録","中","CheckDate記録"
"79","UT-BLZ-079","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 256: NULへのログバックアップが検出されること","NULへのログバックアップが実行されたDBが存在","デフォルトパラメータ","CheckID = 256, Finding = 'Log Backups to NUL' のレコード","高","NULバックアップチェック"
"80","UT-BLZ-080","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 3: バックアップ履歴が60日以上保持されている場合に警告されること","backupsetに60日以上前のレコードが存在","デフォルトパラメータ","CheckID = 3, Finding = 'MSDB Backup History Not Purged' のレコード","低","バックアップ履歴保持チェック"
"81","UT-BLZ-081","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 186: バックアップ履歴が2日未満しか保持されていない場合に警告されること","backupsetに2日以内のレコードのみ存在","デフォルトパラメータ","CheckID = 186, Finding = 'MSDB Backup History Purged Too Frequently' のレコード","中","バックアップ履歴削除過多チェック"
"82","UT-BLZ-082","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 178: スナップショットバックアップが検出されること","50GB以上のDBが60秒以内でバックアップ完了した履歴が存在","デフォルトパラメータ","CheckID = 178, Finding = 'Snapshot Backups Occurring' のレコード","中","スナップショットバックアップチェック"
"83","UT-BLZ-083","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 185: 待機統計がクリアされた場合に検出されること","DBCC SQLPERFで待機統計がクリアされた形跡がある","デフォルトパラメータ","CheckID = 185, Finding = 'Wait Stats Have Been Cleared' のレコード","低","待機統計クリアチェック"
"84","UT-BLZ-084","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 2301: 無効なWindowsログインが検出されること","sp_validateloginsで無効なログインが検出される","sysadmin権限で実行","CheckID = 2301, Finding = 'Invalid login defined with Windows Authentication' のレコード","中","無効ログインチェック"
"85","UT-BLZ-085","sp_Blitz.sql","sp_Blitz","N/A","正常系","dbatools/dbadmin/dbmaintenance/rdsadminデータベースが自動スキップされること","dbatools, dbadmin, dbmaintenance, rdsadminのいずれかが存在","デフォルトパラメータ","これらのDBに関するチェック結果が除外される","低","管理DB自動スキップ"
"86","UT-BLZ-086","sp_Blitz.sql","sp_Blitz","N/A","正常系","読み取り権限のないDBがスキップされること","SELECT権限のないDBが存在","非sysadminユーザーで実行","権限のないDBがSkipChecksに追加されチェックがスキップ","中","権限なしDBスキップ"
"87","UT-BLZ-087","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 84: ハードウェア情報が出力されること","@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 84, Finding = 'Hardware' のレコード（CPU数、メモリ量）","低","ハードウェア情報"
"88","UT-BLZ-088","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 85: SQL Serverサービス情報が出力されること","@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 85, Finding = 'SQL Server Service' のレコード（バージョン、エディション）","低","サービス情報"
"89","UT-BLZ-089","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 88: SQL Server最終起動日時が出力されること","@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 88, Finding = 'SQL Server Last Restart' のレコード","低","最終起動日時"
"90","UT-BLZ-090","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 103: 仮想マシン情報が出力されること（VM環境）","@CheckServerInfo = 1、VM環境","@CheckServerInfo = 1","CheckID = 103, Finding = 'Virtual Server' のレコード","低","VM情報"
"91","UT-BLZ-091","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 156: 実行日時が出力されること","デフォルト実行","デフォルトパラメータ","CheckID = 156, FindingsGroup = 'Rundate' のレコード","低","実行日時記録"
"92","UT-BLZ-092","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID -1: クレジット情報が出力されること","デフォルト実行","デフォルトパラメータ","CheckID = -1, FindingsGroup = 'Thanks!' または 'sp_Blitz' のレコード","低","クレジット出力"
"93","UT-BLZ-093","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 260: SQLサービスがAdministratorsの場合に検出されること","SQLサービスアカウントがローカルAdministrators","xp_cmdshell有効、sysadmin権限","CheckID = 260, Finding = 'Dangerous Service Account' のレコード","高","サービスアカウントセキュリティ"
"94","UT-BLZ-094","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 261: SQL AgentサービスがAdministratorsの場合に検出されること","SQL AgentサービスアカウントがローカルAdministrators","xp_cmdshell有効、sysadmin権限","CheckID = 261, Finding = 'Dangerous Service Account' のレコード","高","Agentサービスアカウントセキュリティ"
"95","UT-BLZ-095","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 7: 起動時に実行されるストアドプロシージャが検出されること","ExecIsStartup = 1のプロシージャが存在","デフォルトパラメータ","CheckID = 7, Finding = 'Stored Procedure Runs at Startup' のレコード","中","起動プロシージャチェック"
"96","UT-BLZ-096","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 10: Resource Governorが有効の場合に検出されること","Resource Governorが有効","デフォルトパラメータ","CheckID = 10, Finding = 'Resource Governor Enabled' のレコード","中","Resource Governorチェック"
"97","UT-BLZ-097","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 11: サーバートリガーが有効の場合に検出されること","有効なサーバートリガーが存在","デフォルトパラメータ","CheckID = 11, Finding = 'Server Triggers Enabled' のレコード","中","サーバートリガーチェック"
"98","UT-BLZ-098","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 15: Auto-Create Stats無効のDBが検出されること","is_auto_create_stats_on = 0のDBが存在","デフォルトパラメータ","CheckID = 15, Finding = 'Auto-Create Stats Disabled' のレコード","中","統計自動作成チェック"
"99","UT-BLZ-099","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 16: Auto-Update Stats無効のDBが検出されること","is_auto_update_stats_on = 0のDBが存在","デフォルトパラメータ","CheckID = 16, Finding = 'Auto-Update Stats Disabled' のレコード","中","統計自動更新チェック"
"100","UT-BLZ-100","sp_Blitz.sql","sp_Blitz","N/A","正常系","CheckID 232: データサイズ情報が出力されること","@CheckServerInfo = 1","@CheckServerInfo = 1","CheckID = 232, Finding = 'Data Size' のレコード（DB数、合計サイズ）","低","データサイズ情報"
"1","UT-BLA-001","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","メイン処理","正常系","ヘルプモードでヘルプ情報が表示されること","ストアドプロシージャが存在する","@Help = 1","ヘルプ情報がPRINTで出力され、即座にRETURNする","中","@Help=1のときの基本動作確認"
"2","UT-BLA-002","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","メイン処理","正常系","バージョンチェックモードでバージョン情報のみ返すこと","ストアドプロシージャが存在する","@VersionCheckMode = 1","@Version, @VersionDateが出力され、即座にRETURNする","中","バージョン確認用パラメータの動作"
"3","UT-BLA-003","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","メイン処理","正常系","デフォルトパラメータで正常に実行されること","出力先データベース・テーブルが存在する","デフォルト値のみ（パラメータ指定なし）","BlitzFirst、WaitStats、FileStats、Perfmon、BlitzCache、BlitzWhoの各データが取得される","高","基本動作確認"
"4","UT-BLA-004","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","日付パラメータ処理","正常系","@StartDateがNULLの場合、1時間前が設定されること","システム時刻が取得可能","@StartDate = NULL","@StartDateが現在時刻の1時間前に設定される","高","日付デフォルト値の設定"
"5","UT-BLA-005","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","日付パラメータ処理","正常系","@EndDateがNULLかつ@StartDateがNULLの場合、現在時刻が設定されること","システム時刻が取得可能","@StartDate = NULL, @EndDate = NULL","@EndDateがSYSDATETIMEOFFSET()に設定される","高","日付デフォルト値の設定"
"6","UT-BLA-006","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","日付パラメータ処理","正常系","@EndDateがNULLかつ@StartDate+1時間が現在より前の場合、1時間後が設定されること","システム時刻が取得可能","@StartDate = 2時間前, @EndDate = NULL","@EndDateが@StartDateの1時間後に設定される","中","日付デフォルト値の分岐処理"
"7","UT-BLA-007","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","日付パラメータ処理","正常系","@EndDateがNULLかつ@StartDate+1時間が現在より後の場合、現在時刻が設定されること","システム時刻が取得可能","@StartDate = 30分前, @EndDate = NULL","@EndDateがSYSDATETIMEOFFSET()に設定される","中","日付デフォルト値の分岐処理"
"8","UT-BLA-008","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","日付パラメータ処理","正常系","明示的に@StartDateと@EndDateを指定した場合その値が使用されること","出力先テーブルが存在する","@StartDate = '2025-01-01', @EndDate = '2025-01-02'","指定した日付範囲でデータが取得される","高","明示的日付指定の動作"
"9","UT-BLA-009","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","データベース検証","異常系","存在しないデータベース名を指定した場合エラーが発生すること","なし","@OutputDatabaseName = 'NonExistentDB'","RAISERROR でエラーメッセージが出力され、RETURNする","高","無効なデータベース名のエラーハンドリング"
"10","UT-BLA-010","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","データベース検証","正常系","存在するデータベース名を指定した場合正常に処理が継続すること","指定したデータベースが存在する","@OutputDatabaseName = 'DBAtools'","エラーなしで処理が継続する","高","有効なデータベース名の処理"
"11","UT-BLA-011","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","異常系","無効なソートオプションを指定した場合エラーが発生すること","なし","@BlitzCacheSortorder = 'invalid'","RAISERRORでエラーメッセージが出力され、RETURNする","高","無効なソートオプションのエラーハンドリング"
"12","UT-BLA-012","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'cpu' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'cpu'","CPU順でソートされたBlitzCacheデータが取得される","高","CPUソートの動作確認"
"13","UT-BLA-013","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'reads' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'reads'","Reads順でソートされたBlitzCacheデータが取得される","中","Readsソートの動作確認"
"14","UT-BLA-014","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'writes' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'writes'","Writes順でソートされたBlitzCacheデータが取得される","中","Writesソートの動作確認"
"15","UT-BLA-015","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'duration' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'duration'","Duration順でソートされたBlitzCacheデータが取得される","中","Durationソートの動作確認"
"16","UT-BLA-016","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'executions' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'executions'","Executions順でソートされたBlitzCacheデータが取得される","中","Executionsソートの動作確認"
"17","UT-BLA-017","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'memory grant' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在し、SQL Serverがmemory grant列をサポート","@BlitzCacheSortorder = 'memory grant'","MemoryGrant順でソートされたBlitzCacheデータが取得される","中","MemoryGrantソートの動作確認"
"18","UT-BLA-018","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'spills' で正常にデータが取得されること","BlitzCacheテーブルにデータが存在し、SQL Serverがspills列をサポート","@BlitzCacheSortorder = 'spills'","Spills順でソートされたBlitzCacheデータが取得される","中","Spillsソートの動作確認"
"19","UT-BLA-019","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","正常系","@BlitzCacheSortorder = 'all' で全ソートオプションのデータが取得されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = 'all'","すべてのソート順でBlitzCacheデータが取得される","高","全ソートオプションの動作確認"
"20","UT-BLA-020","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder検証","境界値","@BlitzCacheSortorderがNULLの場合、デフォルト値 'cpu' が使用されること","BlitzCacheテーブルにデータが存在する","@BlitzCacheSortorder = NULL","@BlitzCacheSortorderが'cpu'に設定されてデータが取得される","中","NULLパラメータのデフォルト値設定"
"21","UT-BLA-021","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BringThePain検証","異常系","4時間超のデータを'all'で取得時、@BringThePain=0だとエラーになること","BlitzCacheテーブルが存在する","@BlitzCacheSortorder='all', @StartDate=10時間前, @EndDate=現在, @BringThePain=0","RAISERRORでエラーメッセージが出力され、RETURNする","高","大量データ取得の安全策"
"22","UT-BLA-022","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BringThePain検証","正常系","4時間超のデータを'all'で取得時、@BringThePain=1で正常に実行されること","BlitzCacheテーブルが存在する","@BlitzCacheSortorder='all', @StartDate=10時間前, @EndDate=現在, @BringThePain=1","正常にデータが取得される","高","大量データ取得の許可"
"23","UT-BLA-023","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BringThePain検証","境界値","4時間ちょうどのデータを'all'で取得時、@BringThePain=0でも正常に実行されること","BlitzCacheテーブルが存在する","@BlitzCacheSortorder='all', DATEDIFF(HOUR,@StartDate,@EndDate)=4, @BringThePain=0","正常にデータが取得される","中","4時間境界値のテスト"
"24","UT-BLA-024","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Maxdop検証","正常系","@Maxdop=1で正常に実行されること","出力先テーブルが存在する","@Maxdop = 1","MAXDOP 1でクエリが実行される","中","Maxdopの基本動作"
"25","UT-BLA-025","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Maxdop検証","境界値","@MaxdopがNULLの場合、デフォルト値1が使用されること","出力先テーブルが存在する","@Maxdop = NULL","@Maxdopが1に設定されてクエリが実行される","中","NULLパラメータのデフォルト値設定"
"26","UT-BLA-026","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Maxdop検証","境界値","@MaxdopがCPUコア数より大きい場合、0に設定されること","出力先テーブルが存在する","@Maxdop = 1000","@Maxdopが0に設定されてクエリが実行される","中","Maxdop上限超過時の処理"
"27","UT-BLA-027","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","OutputSchemaName検証","境界値","@OutputSchemaNameがNULLの場合、'dbo'が使用されること","出力先データベースが存在する","@OutputSchemaName = NULL","@OutputSchemaNameが'dbo'に設定される","中","NULLパラメータのデフォルト値設定"
"28","UT-BLA-028","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","BlitzFirstテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNameBlitzFirstで指定したテーブルが存在しない","@OutputTableNameBlitzFirst = 'NonExistentTable'","'No BlitzFirst data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"29","UT-BLA-029","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNameBlitzFirstがNULLの場合、スキップされること","なし","@OutputTableNameBlitzFirst = NULL","'Skipped logged BlitzFirst data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"30","UT-BLA-030","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","WaitStatsテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNameWaitStatsで指定したテーブルが存在しない","@OutputTableNameWaitStats = 'NonExistentTable'","'No wait stats data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"31","UT-BLA-031","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNameWaitStatsがNULLの場合、スキップされること","なし","@OutputTableNameWaitStats = NULL","'Skipped logged wait stats data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"32","UT-BLA-032","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","FileStatsテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNameFileStatsで指定したテーブルが存在しない","@OutputTableNameFileStats = 'NonExistentTable'","'No File stats data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"33","UT-BLA-033","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNameFileStatsがNULLの場合、スキップされること","なし","@OutputTableNameFileStats = NULL","'Skipped logged File stats data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"34","UT-BLA-034","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","PerfmonStatsテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNamePerfmonStatsで指定したテーブルが存在しない","@OutputTableNamePerfmonStats = 'NonExistentTable'","'No Perfmon data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"35","UT-BLA-035","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNamePerfmonStatsがNULLの場合、スキップされること","なし","@OutputTableNamePerfmonStats = NULL","'Skipped logged Perfmon stats data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"36","UT-BLA-036","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","BlitzCacheテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNameBlitzCacheで指定したテーブルが存在しない","@OutputTableNameBlitzCache = 'NonExistentTable'","'No BlitzCache data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"37","UT-BLA-037","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNameBlitzCacheがNULLの場合、スキップされること","なし","@OutputTableNameBlitzCache = NULL","'Skipped logged BlitzCache data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"38","UT-BLA-038","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","異常系","BlitzWhoテーブルが存在しない場合、スキップメッセージが出力されること","@OutputTableNameBlitzWhoで指定したテーブルが存在しない","@OutputTableNameBlitzWho = 'NonExistentTable'","'No BlitzWho data available as the table cannot be found'メッセージが出力される","中","存在しないテーブルの処理"
"39","UT-BLA-039","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","テーブル存在検証","正常系","@OutputTableNameBlitzWhoがNULLの場合、スキップされること","なし","@OutputTableNameBlitzWho = NULL","'Skipped logged BlitzWho data'メッセージが出力される","中","NULLテーブル名のスキップ処理"
"40","UT-BLA-040","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzFirstデータ取得","正常系","BlitzFirstデータが存在する場合、正しくデータが取得されること","BlitzFirstテーブルにデータが存在する","有効な日付範囲、サーバー名","BlitzFirstの結果が取得される","高","BlitzFirstデータ取得の基本動作"
"41","UT-BLA-041","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzFirstデータ取得","境界値","BlitzFirstデータが存在しない場合、'No findings'メッセージが返されること","BlitzFirstテーブルが空、または該当データなし","指定期間にデータが存在しない","'No findings with a priority between 1 and X found for this period'メッセージが出力される","中","データなし時の処理"
"42","UT-BLA-042","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzFirstデータ取得","正常系","@MaxBlitzFirstPriorityでフィルタリングが正しく動作すること","BlitzFirstテーブルに優先度1-250のデータが存在する","@MaxBlitzFirstPriority = 100","優先度1-100のデータのみが取得される","高","優先度フィルタリングの動作"
"43","UT-BLA-043","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzFirstデータ取得","境界値","@MaxBlitzFirstPriority = 1 の場合、優先度1のデータのみ取得されること","BlitzFirstテーブルに複数優先度のデータが存在する","@MaxBlitzFirstPriority = 1","優先度1のデータのみが取得される","中","最小優先度の境界値"
"44","UT-BLA-044","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","WaitStatsデータ取得","正常系","WaitStatsデータが正しく取得されること","WaitStatsテーブルにデータが存在する","有効な日付範囲、サーバー名","WaitStatsの結果が取得される","高","WaitStatsデータ取得の基本動作"
"45","UT-BLA-045","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","WaitStatsデータ取得","正常系","@WaitStatsTopで取得件数が制限されること","WaitStatsテーブルに複数データが存在する","@WaitStatsTop = 5","各CheckDateごとに上位5件のWaitStatsが取得される","中","Top件数制限の動作"
"46","UT-BLA-046","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","WaitStatsデータ取得","境界値","@WaitStatsTop = 1 の場合、各CheckDateで1件のみ取得されること","WaitStatsテーブルに複数データが存在する","@WaitStatsTop = 1","各CheckDateごとに1件のWaitStatsが取得される","中","Top件数最小値の境界値"
"47","UT-BLA-047","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","FileStatsデータ取得","正常系","FileStatsデータが正しく取得されること","FileStatsテーブルにデータが存在する","有効な日付範囲、サーバー名","FileStatsの結果が取得される","高","FileStatsデータ取得の基本動作"
"48","UT-BLA-048","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","FileStatsデータ取得","正常系","@ReadLatencyThreshold超過時にio_stall_ms_breachedが'Yes'になること","FileStatsテーブルにio_stall_read_ms_averageがthreshold超過のデータが存在する","@ReadLatencyThreshold = 50","io_stall_ms_breachedが'Yes'となるデータが返される","高","読み取りレイテンシ閾値の動作"
"49","UT-BLA-049","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","FileStatsデータ取得","正常系","@WriteLatencyThreshold超過時にio_stall_ms_breachedが'Yes'になること","FileStatsテーブルにio_stall_write_ms_averageがthreshold超過のデータが存在する","@WriteLatencyThreshold = 50","io_stall_ms_breachedが'Yes'となるデータが返される","高","書き込みレイテンシ閾値の動作"
"50","UT-BLA-050","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","FileStatsデータ取得","正常系","両方のレイテンシが閾値以下の場合、io_stall_ms_breachedが'No'になること","FileStatsテーブルにデータが存在し、閾値以下","@ReadLatencyThreshold = 100, @WriteLatencyThreshold = 100","io_stall_ms_breachedが'No'となるデータが返される","中","レイテンシ閾値以下の動作"
"51","UT-BLA-051","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","PerfmonStatsデータ取得","正常系","PerfmonStatsデータが正しく取得されること","PerfmonStatsテーブルにデータが存在する","有効な日付範囲、サーバー名","PerfmonStatsの結果が取得される","高","PerfmonStatsデータ取得の基本動作"
"52","UT-BLA-052","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheデータ取得","正常系","BlitzCacheデータが正しく取得されること","BlitzCacheテーブルにデータが存在する","有効な日付範囲、サーバー名","BlitzCacheの結果が取得される","高","BlitzCacheデータ取得の基本動作"
"53","UT-BLA-053","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheデータ取得","正常系","各CheckDateごとに上位5件が取得されること","BlitzCacheテーブルに複数データが存在する","@BlitzCacheSortorder = 'cpu'","各CheckDateごとにTOP 5のデータが取得される","中","TOP 5制限の動作"
"54","UT-BLA-054","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzWhoデータ取得","正常系","BlitzWhoデータが正しく取得されること","BlitzWhoテーブルにデータが存在する","有効な日付範囲、サーバー名","BlitzWhoの結果が取得される","高","BlitzWhoデータ取得の基本動作"
"55","UT-BLA-055","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzWhoデータ取得","正常系","CheckDateとstart_timeの両方でフィルタリングされること","BlitzWhoテーブルにデータが存在する","有効な日付範囲","CheckDateまたはstart_timeが指定範囲内のデータが取得される","中","日付フィルタリングの複合条件"
"56","UT-BLA-056","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Databasenameフィルタ","正常系","@Databasename指定時にBlitzCacheが該当DBでフィルタリングされること","BlitzCacheテーブルに複数DBのデータが存在する","@Databasename = 'TestDB'","TestDBのデータのみが取得される","高","データベースフィルタの動作"
"57","UT-BLA-057","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Databasenameフィルタ","正常系","@Databasename指定時にFileStatsがtempdbと該当DBでフィルタリングされること","FileStatsテーブルに複数DBのデータが存在する","@Databasename = 'TestDB'","tempdbとTestDBのデータが取得される","高","FileStatsでのtempdb包含動作"
"58","UT-BLA-058","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Databasenameフィルタ","正常系","@Databasename指定時にBlitzWhoが該当DBでフィルタリングされること","BlitzWhoテーブルに複数DBのデータが存在する","@Databasename = 'TestDB'","TestDBのデータのみが取得される","中","BlitzWhoのデータベースフィルタ"
"59","UT-BLA-059","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Databasenameフィルタ","境界値","@DatabasenameがNULLの場合、全DBのデータが取得されること","複数DBのデータが存在する","@Databasename = NULL","すべてのデータベースのデータが取得される","中","NULLによるフィルタなし動作"
"60","UT-BLA-060","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Servernameフィルタ","正常系","@Servername指定時に該当サーバーのデータのみ取得されること","複数サーバーのデータが存在する","@Servername = 'SERVER1'","SERVER1のデータのみが取得される","高","サーバー名フィルタの動作"
"61","UT-BLA-061","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","@Servernameフィルタ","正常系","@Servernameデフォルト(@@SERVERNAME)で現在のサーバーデータが取得されること","現在のサーバーのデータが存在する","@Servername指定なし（デフォルト）","現在のサーバー(@@SERVERNAME)のデータが取得される","中","デフォルトサーバー名の動作"
"62","UT-BLA-062","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Debugモード","正常系","@Debug = 1 で実行SQLがPRINTされること","なし","@Debug = 1","生成されたSQLステートメントがメッセージタブに出力される","低","デバッグモードの動作確認"
"63","UT-BLA-063","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Debugモード","正常系","@Debug = 0 で実行SQLがPRINTされないこと","なし","@Debug = 0","SQLステートメントがメッセージタブに出力されない","低","デバッグモードOFFの確認"
"64","UT-BLA-064","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","レポート情報出力","正常系","実行開始時にレポートウィンドウ情報が出力されること","なし","任意のパラメータ","ServerToReportOn、PrioritesToInclude、StartDatetime、EndDatetimeが出力される","中","レポート情報の出力確認"
"65","UT-BLA-065","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","メモリグラント列確認","正常系","SQL ServerがMemoryGrant列をサポートする場合、memory grantソートが使用可能なこと","sys.dm_exec_query_statsにmax_grant_kb列が存在する","@BlitzCacheSortorder = 'memory grant'","MemoryGrantでソートされたデータが取得される","中","バージョン依存機能の確認"
"66","UT-BLA-066","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","Spills列確認","正常系","SQL ServerがSpills列をサポートする場合、spillsソートが使用可能なこと","sys.dm_exec_query_statsにmax_spills列が存在する","@BlitzCacheSortorder = 'spills'","Spillsでソートされたデータが取得される","中","バージョン依存機能の確認"
"67","UT-BLA-067","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","完全修飾テーブル名","正常系","テーブル名が正しくQUOTENAMEで修飾されること","出力先テーブルが存在する","@OutputDatabaseName='DBA', @OutputSchemaName='dbo', @OutputTableNameBlitzFirst='BlitzFirst'","[DBA].[dbo].[BlitzFirst]形式でアクセスされる","高","SQLインジェクション防止の確認"
"68","UT-BLA-068","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","一時テーブル処理","正常系","既存の#BlitzFirstCountsテーブルがDROPされ再作成されること","#BlitzFirstCountsテーブルが既に存在する","複数回の実行","#BlitzFirstCountsが適切に再作成され、エラーなく実行される","中","一時テーブルの再作成処理"
"69","UT-BLA-069","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","出力パラメータ","正常系","@Versionと@VersionDateが正しく出力されること","なし","DECLARE @V VARCHAR(30), @VD DATETIME; EXEC sp_BlitzAnalysis @Version=@V OUTPUT, @VersionDate=@VD OUTPUT","@Versionに'8.29'、@VersionDateに'20260203'が設定される","中","出力パラメータの確認"
"70","UT-BLA-070","sp_BlitzAnalysis.sql","sp_BlitzAnalysis","BlitzCacheSortorder大文字小文字","正常系","@BlitzCacheSortorderが大文字で渡されても正しく処理されること","BlitzCacheテーブルが存在する","@BlitzCacheSortorder = 'CPU'","'cpu'に変換されて正常に処理される","低","大文字小文字の変換処理"
"1","UT-BBK-001","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","ヘルプモードでの実行","SQL Server接続済み","@Help = 1","ヘルプテキストが出力される","低","ヘルプ表示機能"
"2","UT-BBK-002","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","バージョンチェックモードでの実行","SQL Server接続済み","@VersionCheckMode = 1","@Versionと@VersionDateがOUTPUTに設定され、即時RETURN","中","バージョン確認機能"
"3","UT-BBK-003","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","デフォルトパラメータでの実行","msdbにバックアップ履歴あり","パラメータなし（デフォルト値）","#Backups、#Recoverability、#Warningsの結果セットが返却される","高","基本動作の確認"
"4","UT-BBK-004","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","指定時間範囲でのバックアップ解析","msdbに過去24時間のバックアップ履歴あり","@HoursBack = 24","過去24時間のバックアップ情報のみが解析される","高","時間範囲フィルタ機能"
"5","UT-BBK-005","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","カスタムMSDBデータベース名での実行","別名のMSDBクローンが存在","@MSDBName = 'msdb_copy'","指定されたデータベースからバックアップ情報を取得","中","代替MSDB参照機能"
"6","UT-BBK-006","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","カスタムリストア速度パラメータでの実行","msdbにバックアップ履歴あり","@RestoreSpeedFullMBps = 100, @RestoreSpeedDiffMBps = 150, @RestoreSpeedLogMBps = 200","指定されたリストア速度でRTO計算が実行される","中","カスタムリストア速度でのRTO計算"
"7","UT-BBK-007","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","正常系","デバッグモードでの実行","msdbにバックアップ履歴あり","@Debug = 1","動的SQLがPRINTで出力される","低","デバッグ機能"
"8","UT-BBK-008","sp_BlitzBackups.sql","sp_BlitzBackups","メインプロシージャ","異常系","存在しないMSDBデータベース名の指定","該当データベースが存在しない","@MSDBName = 'nonexistent_db'","RAISERROR 16が発生し、処理が終了","高","存在しないDB参照時のエラーハンドリング"
"9","UT-BBK-009","sp_BlitzBackups.sql","sp_BlitzBackups","RPO計算","正常系","RPOワーストケースの計算","複数のバックアップが異なる間隔で存在","デフォルトパラメータ","バックアップ間の最大ギャップ（分）がRPOWorstCaseMinutesに設定される","高","RPO計算の正確性"
"10","UT-BBK-010","sp_BlitzBackups.sql","sp_BlitzBackups","RPO計算","境界値","バックアップが1件のみ存在","1件のフルバックアップのみ存在","デフォルトパラメータ","RPOWorstCaseMinutesがNULLまたは適切な値","中","最小バックアップ数での動作"
"11","UT-BBK-011","sp_BlitzBackups.sql","sp_BlitzBackups","RPO計算","境界値","バックアップが存在しない","msdb.dbo.backupsetが空","デフォルトパラメータ","空の結果セットが返却される","中","データなし時の動作"
"12","UT-BBK-012","sp_BlitzBackups.sql","sp_BlitzBackups","RTO計算","正常系","RTOワーストケースの計算","フル、差分、ログバックアップが存在","デフォルトパラメータ","リストアに必要な合計時間（分）がRTOWorstCaseMinutesに設定される","高","RTO計算の正確性"
"13","UT-BBK-013","sp_BlitzBackups.sql","sp_BlitzBackups","RTO計算","正常系","フルバックアップのみでのRTO計算","フルバックアップのみ存在（差分・ログなし）","デフォルトパラメータ","フルバックアップのみでRTOが計算される","高","フルバックアップのみの場合"
"14","UT-BBK-014","sp_BlitzBackups.sql","sp_BlitzBackups","RTO計算","正常系","カスタムリストア速度でのRTO計算","フルバックアップが存在","@RestoreSpeedFullMBps = 50","指定された速度に基づいてRTOが計算される","中","カスタム速度でのRTO"
"15","UT-BBK-015","sp_BlitzBackups.sql","sp_BlitzBackups","バックアップ統計","正常系","フルバックアップの統計計算","複数のフルバックアップが存在","デフォルトパラメータ","FullMBpsAvg、FullMBpsMin、FullMBpsMaxが正しく計算される","高","フルバックアップ統計"
"16","UT-BBK-016","sp_BlitzBackups.sql","sp_BlitzBackups","バックアップ統計","正常系","差分バックアップの統計計算","複数の差分バックアップが存在","デフォルトパラメータ","DiffMBpsAvg、DiffMBpsMin、DiffMBpsMaxが正しく計算される","高","差分バックアップ統計"
"17","UT-BBK-017","sp_BlitzBackups.sql","sp_BlitzBackups","バックアップ統計","正常系","ログバックアップの統計計算","複数のログバックアップが存在","デフォルトパラメータ","LogMBpsAvg、LogMBpsMin、LogMBpsMaxが正しく計算される","高","ログバックアップ統計"
"18","UT-BBK-018","sp_BlitzBackups.sql","sp_BlitzBackups","回復可能性分析","正常系","最新リカバリモデルの取得","FULL、SIMPLEリカバリモデルのDBが存在","デフォルトパラメータ","LastBackupRecoveryModelに正しいリカバリモデルが設定される","高","リカバリモデル取得"
"19","UT-BBK-019","sp_BlitzBackups.sql","sp_BlitzBackups","回復可能性分析","正常系","最初と最後のフルバックアップ情報の取得","複数のフルバックアップが存在","デフォルトパラメータ","FirstFullBackupDate、LastFullBackupDateが正しく設定される","高","バックアップ日付範囲"
"20","UT-BBK-020","sp_BlitzBackups.sql","sp_BlitzBackups","回復可能性分析","正常系","平均バックアップスループットの計算","バックアップ履歴が存在","デフォルトパラメータ","AvgFullBackupThroughputMB、AvgDiffBackupThroughputMB、AvgLogBackupThroughputMBが計算される","中","スループット計算"
"21","UT-BBK-021","sp_BlitzBackups.sql","sp_BlitzBackups","トレンド分析","正常系","12ヶ月間のトレンドデータ取得","@MSDBName = 'msdb'で1年分のバックアップ履歴あり","@MSDBName = 'msdb'（デフォルト）","月別のデータベースサイズトレンドが#Trendingに格納される","中","サイズトレンド分析"
"22","UT-BBK-022","sp_BlitzBackups.sql","sp_BlitzBackups","トレンド分析","境界値","トレンド分析がmsdb以外で実行","カスタムMSDBを使用","@MSDBName = 'custom_msdb'","トレンド分析がスキップされる（backupfileがないため）","低","非msdbでのトレンド制限"
"23","UT-BBK-023","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック1","正常系","非エージェントバックアップの検出","SQL Agent以外のユーザーによるバックアップ履歴あり","デフォルトパラメータ","CheckId=1の警告が#Warningsに挿入される","高","非エージェントバックアップ警告"
"24","UT-BBK-024","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック2","正常系","互換性レベル変更の検出","互換性レベルが3回以上変更されたDB","デフォルトパラメータ","CheckId=2の警告が#Warningsに挿入される","中","互換性レベル変更警告"
"25","UT-BBK-025","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック3","正常系","パスワード保護バックアップの検出","is_password_protected=1のバックアップあり","デフォルトパラメータ","CheckId=3の警告が#Warningsに挿入される","中","パスワード保護バックアップ警告"
"26","UT-BBK-026","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック4","正常系","スナップショットバックアップの検出","is_snapshot=1のバックアップあり","デフォルトパラメータ","CheckId=4の警告が#Warningsに挿入される","低","スナップショットバックアップ情報"
"27","UT-BBK-027","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック5","正常系","読み取り専用状態でのバックアップ検出","is_readonly=1のバックアップあり","デフォルトパラメータ","CheckId=5の警告が#Warningsに挿入される","低","読み取り専用バックアップ警告"
"28","UT-BBK-028","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック6","正常系","シングルユーザーモードでのバックアップ検出","is_single_user=1のバックアップあり","デフォルトパラメータ","CheckId=6の警告が#Warningsに挿入される","中","シングルユーザーモード警告"
"29","UT-BBK-029","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック7","正常系","CHECKSUM未使用バックアップの検出","has_backup_checksums=0のバックアップあり（過去30日）","デフォルトパラメータ","CheckId=7の警告が#Warningsに挿入される","高","CHECKSUM未使用警告"
"30","UT-BBK-030","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック8","正常系","破損バックアップの検出","is_damaged=1のバックアップあり","デフォルトパラメータ","CheckId=8の警告が#Warningsに挿入される","高","破損バックアップ警告"
"31","UT-BBK-031","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック9","正常系","暗号化バックアップの検出（SQL 2014以降）","encryptor_typeがNOT NULLのバックアップあり","デフォルトパラメータ、@ProductVersionMajor >= 12","CheckId=9の警告が#Warningsに挿入される","中","暗号化バックアップ情報"
"32","UT-BBK-032","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック9","境界値","暗号化バックアップチェックのスキップ（SQL 2012以前）","SQL Server 2012以前","@ProductVersionMajor < 12","CheckId=9のチェックがスキップされる","低","バージョン依存チェック"
"33","UT-BBK-033","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック10","正常系","BULK LOGGEDデータを含むバックアップの検出","has_bulk_logged_data=1のバックアップあり","デフォルトパラメータ","CheckId=10の警告が#Warningsに挿入される","中","BULK LOGGEDデータ警告"
"34","UT-BBK-034","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック11","正常系","リカバリモデル変更の検出","FULLとSIMPLE間で5回以上変更","デフォルトパラメータ","CheckId=11の警告が#Warningsに挿入される","高","リカバリモデル変更警告"
"35","UT-BBK-035","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック12","正常系","非圧縮バックアップの検出","backup_size = compressed_backup_sizeのバックアップあり（過去30日）","デフォルトパラメータ","CheckId=12の警告が#Warningsに挿入される","中","非圧縮バックアップ警告"
"36","UT-BBK-036","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック13","正常系","大きな差分バックアップの検出","差分バックアップがフルの40%以上（10GB以上のDB）","デフォルトパラメータ","CheckId=13（Big Diffs）の警告が#Warningsに挿入される","中","大きな差分バックアップ警告"
"37","UT-BBK-037","sp_BlitzBackups.sql","sp_BlitzBackups","警告チェック13","正常系","大きなログバックアップの検出","ログバックアップがフルの20%以上（10GB以上のDB）","デフォルトパラメータ","CheckId=13（Big Logs）の警告が#Warningsに挿入される","中","大きなログバックアップ警告"
"38","UT-BBK-038","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","正常系","リスナーへのバックアップ履歴プッシュ","リンクサーバーとターゲットDBが存在","@PushBackupHistoryToListener = 1, @WriteBackupsToListenerName = 'listener', @WriteBackupsToDatabaseName = 'backup_db'","バックアップ履歴がリスナーのDBにコピーされる","高","履歴プッシュ機能"
"39","UT-BBK-039","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","異常系","@WriteBackupsToDatabaseNameがNULL","@PushBackupHistoryToListener = 1","@WriteBackupsToDatabaseName = NULL","RAISERROR 16が発生し、処理が終了","高","必須パラメータ検証"
"40","UT-BBK-040","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","異常系","@WriteBackupsToDatabaseNameがmsdb","@PushBackupHistoryToListener = 1","@WriteBackupsToDatabaseName = 'msdb'","RAISERROR 16が発生（実msdbへの書き込み禁止）","高","msdb書き込み禁止検証"
"41","UT-BBK-041","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","異常系","リスナー名とAG名の両方がNULL","@PushBackupHistoryToListener = 1","@WriteBackupsToListenerName = NULL, @AGName = NULL","RAISERROR 16が発生し、処理が終了","高","パラメータ検証"
"42","UT-BBK-042","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","正常系","AG名からリスナー名を自動取得","AGが存在し@WriteBackupsToListenerName未指定","@AGName = 'MyAG', @WriteBackupsToListenerName = NULL","sys.availability_group_listenersからリスナー名が取得される","中","AG名からのリスナー解決"
"43","UT-BBK-043","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","異常系","リンクサーバーが存在しない","指定されたリスナー名のリンクサーバーなし","@WriteBackupsToListenerName = 'nonexistent_listener'","RAISERROR 16が発生し、処理が終了","高","リンクサーバー存在確認"
"44","UT-BBK-044","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","異常系","リモートDBが存在しない","リンクサーバーは存在するがDBが存在しない","@WriteBackupsToDatabaseName = 'nonexistent_db'","RAISERROR 16が発生し、処理が終了","高","リモートDB存在確認"
"45","UT-BBK-045","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","正常系","backupsetテーブルの自動作成","リモートDBにbackupsetテーブルが存在しない","@WriteBackupsToDatabaseName = 'new_backup_db'","dbo.backupsetテーブルとインデックスが自動作成される","中","テーブル自動作成機能"
"46","UT-BBK-046","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","正常系","インクリメンタル履歴挿入","一部のバックアップ履歴が既にリモートに存在","@WriteBackupsLastHours = 168","未同期のバックアップ履歴のみがリモートに挿入される","高","重複防止挿入"
"47","UT-BBK-047","sp_BlitzBackups.sql","sp_BlitzBackups","PushBackupHistoryToListener","境界値","同期対象データなし","全てのバックアップ履歴が既にリモートに存在","@WriteBackupsLastHours = 168","「No data to move」メッセージが出力され、早期終了","低","データなし時の動作"
"48","UT-BBK-048","sp_BlitzBackups.sql","sp_BlitzBackups","パラメータ処理","正常系","@HoursBackの負値変換","正の値が指定された場合","@HoursBack = 168","内部で-168に変換される","中","正値から負値への変換"
"49","UT-BBK-049","sp_BlitzBackups.sql","sp_BlitzBackups","パラメータ処理","正常系","@WriteBackupsLastHoursの負値変換","正の値が指定された場合","@WriteBackupsLastHours = 168","内部で-168に変換される","中","正値から負値への変換"
"50","UT-BBK-050","sp_BlitzBackups.sql","sp_BlitzBackups","パラメータ処理","境界値","@HoursBack = 0","ゼロが指定された場合","@HoursBack = 0","現在時刻からの解析が行われる","低","ゼロ値の処理"
"51","UT-BBK-051","sp_BlitzBackups.sql","sp_BlitzBackups","動的SQL","正常系","SQLインジェクション対策（QUOTENAME使用）","特殊文字を含むDB名","@MSDBName = 'msdb]; DROP TABLE test; --'","QUOTENAMEによりSQLインジェクションが防止される","高","セキュリティ検証"
"52","UT-BBK-052","sp_BlitzBackups.sql","sp_BlitzBackups","出力結果","正常系","#Backups結果セットの構造確認","バックアップ履歴が存在","デフォルトパラメータ","database_name、RPOWorstCaseMinutes、RTOWorstCaseMinutes等のカラムを含む結果セット","高","出力構造検証"
"53","UT-BBK-053","sp_BlitzBackups.sql","sp_BlitzBackups","出力結果","正常系","#Recoverability結果セットの構造確認","バックアップ履歴が存在","デフォルトパラメータ","DatabaseName、LastBackupRecoveryModel、トレンドデータ等のカラムを含む結果セット","高","出力構造検証"
"54","UT-BBK-054","sp_BlitzBackups.sql","sp_BlitzBackups","出力結果","正常系","#Warnings結果セットの構造確認","警告条件に該当するデータが存在","デフォルトパラメータ","CheckId、Priority、DatabaseName、Finding、Warningカラムを含む結果セット","高","出力構造検証"
"55","UT-BBK-055","sp_BlitzBackups.sql","sp_BlitzBackups","出力結果","正常系","バージョン情報の出力確認","任意の実行","デフォルトパラメータ","CheckId=2147483647で感謝メッセージとバージョン情報が出力される","低","バージョン情報出力"
"56","UT-BBK-056","sp_BlitzBackups.sql","sp_BlitzBackups","トランザクション分離","正常系","READ UNCOMMITTEDの設定確認","任意の実行","デフォルトパラメータ","トランザクション分離レベルがREAD UNCOMMITTEDに設定される","低","分離レベル設定"
"57","UT-BBK-057","sp_BlitzBackups.sql","sp_BlitzBackups","一時テーブル","正常系","一時テーブルのクリーンアップ","正常終了時","デフォルトパラメータ","#Backups、#Warnings、#Recoverability、#RTORecoveryPointsがDROPされる","中","リソースクリーンアップ"
"58","UT-BBK-058","sp_BlitzBackups.sql","sp_BlitzBackups","RPO計算","正常系","RPOWorstCaseMoreInfoQueryの生成確認","バックアップギャップが存在","デフォルトパラメータ","クリック可能なXMLクエリがRPOWorstCaseMoreInfoQueryに設定される","中","詳細クエリ生成"
"59","UT-BBK-059","sp_BlitzBackups.sql","sp_BlitzBackups","バックアップ統計","境界値","バックアップ所要時間が0秒の場合","瞬時完了のバックアップ","backup_finish_date = backup_start_date","0除算が回避され、1秒として計算される","高","0除算防止"
"60","UT-BBK-060","sp_BlitzBackups.sql","sp_BlitzBackups","統合テスト","正常系","複数データベースの同時解析","複数DBにバックアップ履歴あり","デフォルトパラメータ","全データベースのバックアップ情報が正しく解析される","高","複数DB対応"
"1","UT-BLC-001","sp_BlitzCache.sql","sp_BlitzCache","メイン処理","正常系","@Help=1でヘルプ情報が表示されること","SQL Server 2008以降","@Help=1","パラメータ説明、カラム説明、設定パラメータ説明が表示される","中","ヘルプ機能の基本テスト"
"2","UT-BLC-002","sp_BlitzCache.sql","sp_BlitzCache","メイン処理","正常系","デフォルトパラメータで正常実行されること","SQL Server 2008以降、プランキャッシュにデータあり","パラメータなし（デフォルト）","CPU順でTop10のクエリ情報が返却される","高","基本機能テスト"
"3","UT-BLC-003","sp_BlitzCache.sql","sp_BlitzCache","メイン処理","正常系","@VersionCheckMode=1でバージョン情報のみ返却されること","SQL Server 2008以降","@VersionCheckMode=1","@Version、@VersionDateに値がセットされ、すぐにRETURN","中","バージョンチェック機能"
"4","UT-BLC-004","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='CPU'でCPU順にソートされること","プランキャッシュにデータあり","@SortOrder='CPU'","TotalCPU降順でソートされた結果","高","ソート機能の基本テスト"
"5","UT-BLC-005","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Reads'でReads順にソートされること","プランキャッシュにデータあり","@SortOrder='Reads'","TotalReads降順でソートされた結果","高","ソート機能テスト"
"6","UT-BLC-006","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Writes'でWrites順にソートされること","プランキャッシュにデータあり","@SortOrder='Writes'","TotalWrites降順でソートされた結果","高","ソート機能テスト"
"7","UT-BLC-007","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Duration'でDuration順にソートされること","プランキャッシュにデータあり","@SortOrder='Duration'","TotalDuration降順でソートされた結果","高","ソート機能テスト"
"8","UT-BLC-008","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Executions'で実行回数順にソートされること","プランキャッシュにデータあり","@SortOrder='Executions'","ExecutionCount降順でソートされた結果","高","ソート機能テスト"
"9","UT-BLC-009","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Memory Grant'でメモリグラント順にソートされること","SQL Server 2012以降","@SortOrder='Memory Grant'","MaxGrantKB降順でソートされた結果","中","メモリグラント対応バージョン要"
"10","UT-BLC-010","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='Spills'でスピル順にソートされること","SQL Server 2016以降","@SortOrder='Spills'","MaxSpills降順でソートされた結果","中","スピル対応バージョン要"
"11","UT-BLC-011","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='avg cpu'で平均CPU順にソートされること","プランキャッシュにデータあり","@SortOrder='avg cpu'","AverageCPU降順でソートされた結果","高","平均値ソート機能"
"12","UT-BLC-012","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='compiles'でコンパイル時間順にソートされること","プランキャッシュにデータあり","@SortOrder='compiles'","PlanCreationTime降順でソートされた結果","中","コンパイルソート機能"
"13","UT-BLC-013","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='query hash'でクエリハッシュソートが動作すること","プランキャッシュに重複クエリあり","@SortOrder='query hash'","重複するクエリハッシュが特定され、CPU順で表示","中","クエリハッシュソート機能"
"14","UT-BLC-014","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='duplicate'で重複プランソートが動作すること","プランキャッシュに重複プランあり","@SortOrder='duplicate'","100以上の重複を持つクエリハッシュが表示される","中","重複プランソート機能"
"15","UT-BLC-015","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","正常系","@SortOrder='all'で全ソート順が実行されること","プランキャッシュにデータあり","@SortOrder='all'","各ソート順でTop5のデータが結合されて返却される","中","全ソート機能"
"16","UT-BLC-016","sp_BlitzCache.sql","sp_BlitzCache","@SortOrder","異常系","無効な@SortOrderがCPUにリバートされること","プランキャッシュにデータあり","@SortOrder='invalid_value'","警告メッセージが出力され、CPU順でソートされる","高","入力バリデーション"
"17","UT-BLC-017","sp_BlitzCache.sql","sp_BlitzCache","@Top","正常系","@Top指定で件数が制限されること","プランキャッシュにデータあり","@Top=5","5件のみ結果が返却される","高","件数制限機能"
"18","UT-BLC-018","sp_BlitzCache.sql","sp_BlitzCache","@Top","境界値","@Top=1で1件のみ返却されること","プランキャッシュにデータあり","@Top=1","1件のみ結果が返却される","中","境界値テスト"
"19","UT-BLC-019","sp_BlitzCache.sql","sp_BlitzCache","@Top","境界値","@Top=NULLでデフォルト値が適用されること","プランキャッシュにデータあり","@Top=NULL","@SortOrderに応じたデフォルト値（5または10）が適用","中","NULL値処理"
"20","UT-BLC-020","sp_BlitzCache.sql","sp_BlitzCache","@DatabaseName","正常系","特定データベースでフィルタリングされること","指定DBにプランあり","@DatabaseName='TestDB'","指定データベースのクエリのみ返却される","高","データベースフィルタ機能"
"21","UT-BLC-021","sp_BlitzCache.sql","sp_BlitzCache","@DatabaseName","異常系","存在しないデータベース名でエラーになること","存在しないDB名","@DatabaseName='NonExistentDB'","エラーメッセージ「The database you specified does not exist」","高","入力バリデーション"
"22","UT-BLC-022","sp_BlitzCache.sql","sp_BlitzCache","@DatabaseName","異常系","読み取り不可データベースでエラーになること","オフラインDB","@DatabaseName='OfflineDB'","エラーメッセージ「The database you specified is not readable」","中","可用性チェック"
"23","UT-BLC-023","sp_BlitzCache.sql","sp_BlitzCache","@QueryFilter","正常系","@QueryFilter='all'で全クエリタイプが返却されること","各種クエリタイプがキャッシュにあり","@QueryFilter='all'","Statement、Procedure、Function、Triggerが含まれる","高","クエリフィルタ機能"
"24","UT-BLC-024","sp_BlitzCache.sql","sp_BlitzCache","@QueryFilter","正常系","@QueryFilter='procedures'でストアドプロシージャのみ返却されること","プロシージャがキャッシュにあり","@QueryFilter='procedures'","Procedureタイプのみ返却される","高","クエリフィルタ機能"
"25","UT-BLC-025","sp_BlitzCache.sql","sp_BlitzCache","@QueryFilter","正常系","@QueryFilter='statements'でステートメントのみ返却されること","ステートメントがキャッシュにあり","@QueryFilter='statements'","Statementタイプのみ返却される","高","クエリフィルタ機能"
"26","UT-BLC-026","sp_BlitzCache.sql","sp_BlitzCache","@QueryFilter","正常系","@QueryFilter='functions'で関数のみ返却されること","SQL Server 2016以降、関数がキャッシュにあり","@QueryFilter='functions'","Functionタイプのみ返却される","中","SQL Server 2016以降で有効"
"27","UT-BLC-027","sp_BlitzCache.sql","sp_BlitzCache","@QueryFilter","異常系","無効な@QueryFilterがallにリバートされること","プランキャッシュにデータあり","@QueryFilter='invalid'","警告メッセージが出力され、allとして動作","中","入力バリデーション"
"28","UT-BLC-028","sp_BlitzCache.sql","sp_BlitzCache","@IgnoreSystemDBs","正常系","@IgnoreSystemDBs=1でシステムDBが除外されること","システムDBにプランあり","@IgnoreSystemDBs=1","master、model、msdb、tempdbのプランが除外される","高","システムDBフィルタ"
"29","UT-BLC-029","sp_BlitzCache.sql","sp_BlitzCache","@IgnoreSystemDBs","正常系","@IgnoreSystemDBs=0でシステムDBが含まれること","システムDBにプランあり","@IgnoreSystemDBs=0","システムDBのプランも結果に含まれる","中","システムDB含める"
"30","UT-BLC-030","sp_BlitzCache.sql","sp_BlitzCache","@DurationFilter","正常系","@DurationFilterで平均実行時間フィルタが適用されること","様々な実行時間のプランあり","@DurationFilter=5.0","平均実行時間5秒以上のクエリのみ返却される","高","実行時間フィルタ"
"31","UT-BLC-031","sp_BlitzCache.sql","sp_BlitzCache","@DurationFilter","境界値","@DurationFilter=0で全クエリが対象になること","プランキャッシュにデータあり","@DurationFilter=0","全クエリが結果に含まれる","中","境界値テスト"
"32","UT-BLC-032","sp_BlitzCache.sql","sp_BlitzCache","@MinimumExecutionCount","正常系","最小実行回数フィルタが適用されること","様々な実行回数のプランあり","@MinimumExecutionCount=100","実行回数100以上のクエリのみ返却される","高","実行回数フィルタ"
"33","UT-BLC-033","sp_BlitzCache.sql","sp_BlitzCache","@MinimumExecutionCount","境界値","@MinimumExecutionCount=0で全クエリが対象になること","プランキャッシュにデータあり","@MinimumExecutionCount=0","全クエリが結果に含まれる","中","境界値テスト"
"34","UT-BLC-034","sp_BlitzCache.sql","sp_BlitzCache","@MinutesBack","正常系","@MinutesBackで時間フィルタが適用されること","最近実行されたプランあり","@MinutesBack=60","過去60分以内に実行されたクエリのみ返却される","高","時間フィルタ機能"
"35","UT-BLC-035","sp_BlitzCache.sql","sp_BlitzCache","@MinutesBack","正常系","正の値が負の値に変換されること","プランキャッシュにデータあり","@MinutesBack=60","内部で-60として処理される","中","値変換ロジック"
"36","UT-BLC-036","sp_BlitzCache.sql","sp_BlitzCache","@MinutesBack","境界値","@MinutesBack=0が-1に変換されること","プランキャッシュにデータあり","@MinutesBack=0","内部で-1として処理される（警告メッセージ付き）","中","境界値テスト"
"37","UT-BLC-037","sp_BlitzCache.sql","sp_BlitzCache","@OnlyQueryHashes","正常系","特定クエリハッシュでフィルタリングされること","対象クエリハッシュがキャッシュにあり","@OnlyQueryHashes='0x1234567890ABCDEF'","指定されたクエリハッシュのプランのみ返却される","高","クエリハッシュフィルタ"
"38","UT-BLC-038","sp_BlitzCache.sql","sp_BlitzCache","@OnlyQueryHashes","正常系","複数クエリハッシュがカンマ区切りで指定可能なこと","複数対象クエリハッシュがキャッシュにあり","@OnlyQueryHashes='0x1234,0x5678'","指定された全クエリハッシュのプランが返却される","中","複数指定機能"
"39","UT-BLC-039","sp_BlitzCache.sql","sp_BlitzCache","@IgnoreQueryHashes","正常系","特定クエリハッシュが除外されること","対象クエリハッシュがキャッシュにあり","@IgnoreQueryHashes='0x1234567890ABCDEF'","指定されたクエリハッシュが結果から除外される","高","クエリハッシュ除外"
"40","UT-BLC-040","sp_BlitzCache.sql","sp_BlitzCache","@OnlySqlHandles","正常系","特定SQLハンドルでフィルタリングされること","対象SQLハンドルがキャッシュにあり","@OnlySqlHandles='0x1234...'","指定されたSQLハンドルのプランのみ返却される","高","SQLハンドルフィルタ"
"41","UT-BLC-041","sp_BlitzCache.sql","sp_BlitzCache","@IgnoreSqlHandles","正常系","特定SQLハンドルが除外されること","対象SQLハンドルがキャッシュにあり","@IgnoreSqlHandles='0x1234...'","指定されたSQLハンドルが結果から除外される","中","SQLハンドル除外"
"42","UT-BLC-042","sp_BlitzCache.sql","sp_BlitzCache","@StoredProcName","正常系","特定ストアドプロシージャのプランが返却されること","対象プロシージャがキャッシュにあり","@StoredProcName='usp_Test'","指定されたストアドプロシージャのプランのみ返却される","高","プロシージャフィルタ"
"43","UT-BLC-043","sp_BlitzCache.sql","sp_BlitzCache","@SlowlySearchPlansFor","正常系","プラン内テキスト検索が動作すること","検索対象文字列を含むプランあり","@SlowlySearchPlansFor='CONVERT_IMPLICIT'","指定文字列を含むプランのみ返却される","中","テキスト検索機能（低速）"
"44","UT-BLC-044","sp_BlitzCache.sql","sp_BlitzCache","@SlowlySearchPlansFor","正常系","ワイルドカード検索が動作すること","検索対象パターンを含むプランあり","@SlowlySearchPlansFor='%IndexScan%'","パターンに一致するプランが返却される","中","ワイルドカード検索"
"45","UT-BLC-045","sp_BlitzCache.sql","sp_BlitzCache","@ExpertMode","正常系","@ExpertMode=0で基本カラムのみ返却されること","プランキャッシュにデータあり","@ExpertMode=0","基本的な分析カラムのみ返却される","高","出力モード制御"
"46","UT-BLC-046","sp_BlitzCache.sql","sp_BlitzCache","@ExpertMode","正常系","@ExpertMode=1で追加カラムが返却されること","プランキャッシュにデータあり","@ExpertMode=1","詳細な分析カラムが追加で返却される","高","エキスパートモード"
"47","UT-BLC-047","sp_BlitzCache.sql","sp_BlitzCache","@ExpertMode","正常系","@ExpertMode=2でOpserver最適化出力されること","プランキャッシュにデータあり","@ExpertMode=2","Opserver用に最適化された出力形式","中","Opserverモード"
"48","UT-BLC-048","sp_BlitzCache.sql","sp_BlitzCache","@ExportToExcel","正常系","@ExportToExcel=1でExcel用フォーマットになること","プランキャッシュにデータあり","@ExportToExcel=1","改行除去、クエリプラン非表示のExcel用出力","中","Excel出力機能"
"49","UT-BLC-049","sp_BlitzCache.sql","sp_BlitzCache","@HideSummary","正常系","@HideSummary=1でサマリが非表示になること","プランキャッシュにデータあり","@HideSummary=1","FindingsGroupサマリ結果セットが表示されない","中","サマリ非表示機能"
"50","UT-BLC-050","sp_BlitzCache.sql","sp_BlitzCache","@Reanalyze","正常系","@Reanalyze=1で既存データを再分析すること","##BlitzCacheProcsにデータあり","@Reanalyze=1","既存の##BlitzCacheProcsデータを再分析して表示","中","再分析機能"
"51","UT-BLC-051","sp_BlitzCache.sql","sp_BlitzCache","@Reanalyze","異常系","##BlitzCacheProcsがない場合にReanalyzeが無効化されること","##BlitzCacheProcsが存在しない","@Reanalyze=1","警告メッセージが出力され、通常分析が実行される","中","再分析エラー処理"
"52","UT-BLC-052","sp_BlitzCache.sql","sp_BlitzCache","@SkipAnalysis","正常系","@SkipAnalysis=1で詳細分析がスキップされること","プランキャッシュにデータあり","@SkipAnalysis=1","警告分析がスキップされ、サマリが非表示","中","分析スキップ機能"
"53","UT-BLC-053","sp_BlitzCache.sql","sp_BlitzCache","@BringThePain","正常系","@BringThePain=1で大量データ取得が許可されること","@SortOrder='all'、@Top=20","@BringThePain=1, @SortOrder='all', @Top=20","@Top>10の全ソート処理が実行される","中","大量データ処理許可"
"54","UT-BLC-054","sp_BlitzCache.sql","sp_BlitzCache","@BringThePain","異常系","@BringThePain=0で大量データ取得がエラーになること","@SortOrder='all'、@Top=20","@BringThePain=0, @SortOrder='all', @Top=20","エラーメッセージが返却される","中","大量データ処理制限"
"55","UT-BLC-055","sp_BlitzCache.sql","sp_BlitzCache","@OutputType","正常系","@OutputType='TABLE'で通常出力されること","プランキャッシュにデータあり","@OutputType='TABLE'","結果セットがテーブル形式で返却される","高","出力タイプ制御"
"56","UT-BLC-056","sp_BlitzCache.sql","sp_BlitzCache","@OutputType","正常系","@OutputType='NONE'で結果セットなしになること","@Output*パラメータが全て指定","@OutputType='NONE', @OutputDatabaseName='DB', @OutputSchemaName='dbo', @OutputTableName='Results'","結果セットが返却されず、テーブルに保存される","中","NONE出力タイプ"
"57","UT-BLC-057","sp_BlitzCache.sql","sp_BlitzCache","@OutputType","異常系","@OutputType='NONE'で@Output*パラメータ不足時エラーになること","@OutputDatabaseName等が未指定","@OutputType='NONE'","エラーメッセージが返却される","高","入力バリデーション"
"58","UT-BLC-058","sp_BlitzCache.sql","sp_BlitzCache","出力テーブル","正常系","既存テーブルへの出力が動作すること","出力先テーブルが存在","@OutputDatabaseName='DB', @OutputSchemaName='dbo', @OutputTableName='Results'","指定テーブルにデータが挿入される","高","テーブル出力機能"
"59","UT-BLC-059","sp_BlitzCache.sql","sp_BlitzCache","出力テーブル","正常系","新規テーブルへの出力が動作すること","出力先テーブルが存在しない","@OutputDatabaseName='DB', @OutputSchemaName='dbo', @OutputTableName='NewResults'","テーブルが作成され、データが挿入される","高","テーブル自動作成"
"60","UT-BLC-060","sp_BlitzCache.sql","sp_BlitzCache","出力テーブル","正常系","グローバル一時テーブル(##)への出力が動作すること","出力先が##テーブル","@OutputTableName='##TempResults'","グローバル一時テーブルが作成され、データが挿入される","中","一時テーブル出力"
"61","UT-BLC-061","sp_BlitzCache.sql","sp_BlitzCache","出力テーブル","異常系","ローカル一時テーブル(#)への出力がエラーになること","出力先が#テーブル","@OutputTableName='#TempResults'","エラーメッセージ（##のみサポート）","中","一時テーブル制限"
"62","UT-BLC-062","sp_BlitzCache.sql","sp_BlitzCache","出力テーブル","異常系","予約テーブル名への出力がエラーになること","予約名を指定","@OutputTableName='##BlitzCacheProcs'","エラーメッセージ（予約名は使用不可）","中","予約名チェック"
"63","UT-BLC-063","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Missing Indexが検出されること","欠落インデックスを持つプランあり","デフォルトパラメータ","Warnings列に「Missing Indexes」が含まれる","高","警告検出機能"
"64","UT-BLC-064","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Implicit Conversionが検出されること","暗黙変換を持つプランあり","デフォルトパラメータ","Warnings列に「Implicit Conversions」が含まれる","高","警告検出機能"
"65","UT-BLC-065","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Parameter Sniffingが検出されること","パラメータスニッフィング問題のあるプランあり","デフォルトパラメータ","Warnings列に「Parameter Sniffing」が含まれる","高","警告検出機能"
"66","UT-BLC-066","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Parallel Planが検出されること","並列プランあり","デフォルトパラメータ","Warnings列に「Parallel」が含まれる","中","警告検出機能"
"67","UT-BLC-067","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Long Running Queryが検出されること","長時間実行クエリあり","デフォルトパラメータ","Warnings列に「Long Running Query」が含まれる","高","警告検出機能"
"68","UT-BLC-068","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Table Variableが検出されること","テーブル変数を使用するプランあり","デフォルトパラメータ","Warnings列に「Table Variables」が含まれる","中","警告検出機能"
"69","UT-BLC-069","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Cursorが検出されること","カーソルを使用するプランあり","デフォルトパラメータ","Warnings列に「Cursor」が含まれる","中","警告検出機能"
"70","UT-BLC-070","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Forced Planが検出されること","強制プランあり","デフォルトパラメータ","Warnings列に「Forced Plan」が含まれる","中","警告検出機能"
"71","UT-BLC-071","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Key Lookupが検出されること","高コストKey Lookupを持つプランあり","デフォルトパラメータ","Warnings列に「Expensive Key Lookup」が含まれる","高","警告検出機能"
"72","UT-BLC-072","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Table Scanが検出されること","テーブルスキャンを持つプランあり","デフォルトパラメータ","Warnings列に「Table Scans」が含まれる","中","警告検出機能"
"73","UT-BLC-073","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Expensive Sortが検出されること","高コストソートを持つプランあり","デフォルトパラメータ","Warnings列に「Expensive Sort」が含まれる","中","警告検出機能"
"74","UT-BLC-074","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Spillsが検出されること","SQL Server 2016以降、スピルを持つプランあり","デフォルトパラメータ","Warnings列に「>500mb spills」が含まれる","高","警告検出機能"
"75","UT-BLC-075","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Compile Timeoutが検出されること","コンパイルタイムアウトを持つプランあり","デフォルトパラメータ","Warnings列に「Compilation Timeout」が含まれる","高","警告検出機能"
"76","UT-BLC-076","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Unparameterized Queryが検出されること","@ExpertMode=1、パラメータ化されていないクエリあり","@ExpertMode=1","Warnings分析でunparameterized_query=1が設定される","中","警告検出機能"
"77","UT-BLC-077","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","TVF Joinが検出されること","TVFとJOINするプランあり","デフォルトパラメータ","Warnings列に「Function Join」が含まれる","中","警告検出機能"
"78","UT-BLC-078","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Non-SARGable predicateが検出されること","SARGable でない述語を持つプランあり","デフォルトパラメータ","Warnings列に「non-SARGables」が含まれる","高","警告検出機能"
"79","UT-BLC-079","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Multiple Plansが検出されること","同一クエリに複数プランあり","デフォルトパラメータ","Warnings列に「Multiple Plans」が含まれる","中","警告検出機能"
"80","UT-BLC-080","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Trivial Planが検出されること","Trivialプランあり","デフォルトパラメータ","Warnings列に「Trivial Plans」が含まれる","低","警告検出機能"
"81","UT-BLC-081","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","Row Goalsが検出されること","SQL Server 2017以降、Row Goalを持つプランあり","デフォルトパラメータ","Warnings列に「Row Goals」が含まれる","中","警告検出機能"
"82","UT-BLC-082","sp_BlitzCache.sql","sp_BlitzCache","警告検出","正常系","警告がない場合のメッセージが表示されること","問題のないプランのみ","デフォルトパラメータ","Warnings列に「No warnings detected」が含まれる","低","警告なし検出"
"83","UT-BLC-083","sp_BlitzCache.sql","sp_BlitzCache","@UseTriggersAnyway","正常系","@UseTriggersAnyway=1でトリガー情報が含まれること","SQL Server 2008R2、トリガーがキャッシュにあり","@UseTriggersAnyway=1","トリガー実行統計が結果に含まれる（不正確な可能性あり）","低","レガシートリガーサポート"
"84","UT-BLC-084","sp_BlitzCache.sql","sp_BlitzCache","@Debug","正常系","@Debug=1でデバッグ情報が出力されること","プランキャッシュにデータあり","@Debug=1","動的SQL、中間テーブルデータが出力される","低","デバッグモード"
"85","UT-BLC-085","sp_BlitzCache.sql","sp_BlitzCache","@KeepCRLF","正常系","@KeepCRLF=1で改行が保持されること","複数行クエリがキャッシュにあり","@KeepCRLF=1","QueryText内の改行が保持される","低","改行保持機能"
"86","UT-BLC-086","sp_BlitzCache.sql","sp_BlitzCache","@KeepCRLF","正常系","@KeepCRLF=0で改行が削除されること","複数行クエリがキャッシュにあり","@KeepCRLF=0","QueryText内の改行がスペースに置換される","低","改行削除機能"
"87","UT-BLC-087","sp_BlitzCache.sql","sp_BlitzCache","Configuration Table","正常系","設定テーブルから閾値が読み込まれること","設定テーブルが存在","@ConfigurationDatabaseName='DB', @ConfigurationSchemaName='dbo', @ConfigurationTableName='Config'","設定テーブルの値が分析閾値として使用される","中","外部設定機能"
"88","UT-BLC-088","sp_BlitzCache.sql","sp_BlitzCache","@IgnoreReadableReplicaDBs","正常系","@IgnoreReadableReplicaDBs=1で可用性グループセカンダリが除外されること","AGセカンダリDBあり","@IgnoreReadableReplicaDBs=1","読み取り可能セカンダリのプランが除外される","中","AG対応機能"
"89","UT-BLC-089","sp_BlitzCache.sql","sp_BlitzCache","バージョンチェック","異常系","SQL Server 2008より前のバージョンでエラーになること","SQL Server 2005","実行","エラーメッセージ「sp_BlitzCache doesn't work on versions of SQL prior to 2008」","高","バージョン互換性"
"90","UT-BLC-090","sp_BlitzCache.sql","sp_BlitzCache","Azure対応","異常系","Azure SQL DBで別データベース指定時エラーになること","Azure SQL DB","@DatabaseName='OtherDB'（現在のDBと異なる）","エラーメッセージ「Azure SQL DB does not allow you to change databases」","高","Azure互換性"
"91","UT-BLC-091","sp_BlitzCache.sql","sp_BlitzCache","AI機能","正常系","@AI=1でAIアドバイスが取得されること","Azure SQL DB、sp_invoke_external_rest_endpoint利用可、AIクレデンシャル設定済","@AI=1, @ExpertMode=1（自動設定）","ai_advice列にAIからのアドバイスが格納される","中","AI分析機能"
"92","UT-BLC-092","sp_BlitzCache.sql","sp_BlitzCache","AI機能","正常系","@AI=2でAIプロンプトのみ生成されること","プランキャッシュにデータあり","@AI=2","ai_prompt列にプロンプトが格納され、ai_adviceには未送信メッセージ","中","AIプロンプト生成"
"93","UT-BLC-093","sp_BlitzCache.sql","sp_BlitzCache","AI機能","正常系","@AIModelでモデル指定が動作すること","AI設定済","@AI=1, @AIModel='gpt-4.1-mini'","指定モデルでAIリクエストが実行される","低","AIモデル指定"
"94","UT-BLC-094","sp_BlitzCache.sql","sp_BlitzCache","AI機能","正常系","@AIURLでカスタムエンドポイントが使用されること","AI設定済","@AI=1, @AIURL='https://custom.api.com/v1/chat'","指定URLにAIリクエストが送信される","低","AIエンドポイント指定"
"95","UT-BLC-095","sp_BlitzCache.sql","sp_BlitzCache","AI機能","正常系","@AIConfigテーブルから設定が読み込まれること","AI設定テーブルが存在","@AI=1, @AIConfig='dbo.AI_Services'","設定テーブルからモデル、URL、クレデンシャルが読み込まれる","低","AI設定テーブル"
"96","UT-BLC-096","sp_BlitzCache.sql","sp_BlitzCache","AI機能","異常系","sp_invoke_external_rest_endpointがない場合@AI=2に降格すること","非Azure環境","@AI=1","警告メッセージが出力され、@AI=2として動作","中","AI機能降格"
"97","UT-BLC-097","sp_BlitzCache.sql","sp_BlitzCache","AI機能","異常系","AI設定不足時にエラーになること","設定不完全","@AI=1, @AIModel=NULL, @AIURL=NULL（設定テーブルもなし）","エラーメッセージが返却される","中","AI設定バリデーション"
"98","UT-BLC-098","sp_BlitzCache.sql","sp_BlitzCache","リンクサーバー出力","正常系","リンクサーバー経由で出力可能なこと","リンクサーバー設定済、永続テーブル指定","@OutputServerName='LinkedServer', @OutputDatabaseName='DB', @OutputSchemaName='dbo', @OutputTableName='Results'","リンクサーバー上のテーブルにデータが挿入される","低","リンクサーバー出力"
"99","UT-BLC-099","sp_BlitzCache.sql","sp_BlitzCache","リンクサーバー出力","異常系","リンクサーバーへの一時テーブル出力がエラーになること","リンクサーバー設定済","@OutputServerName='LinkedServer', @OutputTableName='##TempResults'","エラーメッセージ「outputting to a linked server requires a permanent table」","低","リンクサーバー制限"
"100","UT-BLC-100","sp_BlitzCache.sql","sp_BlitzCache","パラメータバリデーション","異常系","必須パラメータがNULLの場合エラーになること","パラメータがNULL設定","@Top=NULL, @SortOrder=NULL, @QueryFilter=NULL, @Reanalyze=NULL","エラーメッセージ「Several parameters are required. Do not set them to NULL」","高","入力バリデーション"
"101","UT-BLC-101","sp_BlitzCache.sql","sp_BlitzCache","サマリ出力","正常系","FindingsGroupサマリが正しく出力されること","様々な問題を持つプランあり","@HideSummary=0","##BlitzCacheResultsから優先度順にサマリが表示される","高","サマリ出力機能"
"102","UT-BLC-102","sp_BlitzCache.sql","sp_BlitzCache","サマリ出力","正常系","Plan Cache Stability情報が出力されること","プランキャッシュにデータあり","デフォルトパラメータ","プラン作成時間分布（24時間、4時間、1時間）が表示される","中","キャッシュ安定性分析"
"103","UT-BLC-103","sp_BlitzCache.sql","sp_BlitzCache","サマリ出力","正常系","Duplicate Plans情報が出力されること","重複プランあり","デフォルトパラメータ","重複プランの割合情報が表示される","中","重複プラン分析"
"104","UT-BLC-104","sp_BlitzCache.sql","sp_BlitzCache","サマリ出力","正常系","Single-Use Plans情報が出力されること","単一使用プランあり","デフォルトパラメータ","単一使用プランの割合情報が表示される","中","単一使用プラン分析"
"105","UT-BLC-105","sp_BlitzCache.sql","sp_BlitzCache","サマリ出力","正常系","Global Trace Flags情報が出力されること","SQL Server 2012以降、トレースフラグ有効","デフォルトパラメータ","有効なグローバルトレースフラグが表示される","低","トレースフラグ検出"
"106","UT-BLC-106","sp_BlitzCache.sql","sp_BlitzCache","QueryPlanCost","正常系","QueryPlanCostが正しく計算されること","コストを持つプランあり","デフォルトパラメータ","QueryPlanCost列に正しいコスト値が格納される","中","コスト計算機能"
"107","UT-BLC-107","sp_BlitzCache.sql","sp_BlitzCache","Missing Index詳細","正常系","Missing Index詳細情報が取得されること","欠落インデックスを持つプランあり、@ExpertMode=1","@ExpertMode=1","missing_indexes列にXML形式の詳細情報が格納される","中","欠落インデックス詳細"
"108","UT-BLC-108","sp_BlitzCache.sql","sp_BlitzCache","Implicit Conversion詳細","正常系","Implicit Conversion詳細情報が取得されること","暗黙変換を持つプランあり、@ExpertMode=1","@ExpertMode=1","implicit_conversion_info列にXML形式の詳細情報が格納される","中","暗黙変換詳細"
"109","UT-BLC-109","sp_BlitzCache.sql","sp_BlitzCache","Air Quote Actual Plans","正常系","SQL Server 2019以降でActual Plansが取得されること","SQL Server 2019以降、dm_exec_query_plan_stats利用可","デフォルトパラメータ","より詳細な実行プランが取得される","中","実行プラン拡張"
"110","UT-BLC-110","sp_BlitzCache.sql","sp_BlitzCache","メモリプレッシャー検出","正常系","USERSTORE_TOKENPERM肥大化が検出されること","トークンストアが大きい環境","デフォルトパラメータ","サマリに「Large USERSTORE_TOKENPERM cache」警告が表示される","中","メモリ問題検出"
"1","UT-BLF-001","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","ヘルプ表示が正しく動作すること","SQL Server接続済み","@Help = 1","ヘルプメッセージが表示されRETURN","高","基本機能：ヘルプ表示"
"2","UT-BLF-002","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","バージョンチェックモードが正しく動作すること","SQL Server接続済み","@VersionCheckMode = 1","@Version, @VersionDateが設定されRETURN","高","基本機能：バージョン確認"
"3","UT-BLF-003","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","デフォルトパラメータで実行できること","SQL Server接続済み","パラメータなし（デフォルト値）","診断結果が返却される","高","基本機能：デフォルト実行"
"4","UT-BLF-004","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","ExpertModeで詳細情報が取得できること","SQL Server接続済み","@ExpertMode = 1","BlitzWho結果を含む詳細な診断結果が返却される","高","ExpertMode機能"
"5","UT-BLF-005","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","SinceStartup=1でサーバー起動以降の統計を取得できること","SQL Server接続済み","@SinceStartup = 1","サーバー起動以降の累積統計が返却される","高","SinceStartup機能"
"6","UT-BLF-006","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","指定秒数のサンプリングが正しく動作すること","SQL Server接続済み","@Seconds = 10","10秒間のサンプリング結果が返却される","高","サンプリング時間指定"
"7","UT-BLF-007","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","OutputType=SCHEMAでスキーマ情報が取得できること","SQL Server接続済み","@OutputType = 'SCHEMA'","結果セットのスキーマ情報（FieldList）が返却される","中","OutputType機能"
"8","UT-BLF-008","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","OutputType=Top10で上位10件が取得できること","SQL Server接続済み","@OutputType = 'Top10'","上位10件の診断結果が返却される","中","OutputType機能"
"9","UT-BLF-009","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageが正しく保存されること","出力テーブル存在","@LogMessage = 'Test Message', @OutputDatabaseName等設定","メッセージがテーブルに保存される","高","ログメッセージ機能"
"10","UT-BLF-010","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","AsOfパラメータで過去データが参照できること","出力テーブルに過去データ存在","@AsOf = '2024-01-01 12:00:00', @OutputDatabaseName等設定","指定時刻付近の過去データが返却される","中","過去データ参照機能"
"11","UT-BLF-011","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","データベースフィルタが正しく動作すること","複数データベース存在","@FilterPlansByDatabase = 'master,tempdb'","指定データベースのみのプラン情報が取得される","中","データベースフィルタ機能"
"12","UT-BLF-012","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","USERフィルタで非システムDBのみ取得できること","ユーザーデータベース存在","@FilterPlansByDatabase = 'USER'","ユーザーデータベースのみのプラン情報が取得される","中","データベースフィルタ機能"
"13","UT-BLF-013","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","出力テーブルへの保存が正しく動作すること","出力先データベース存在","@OutputDatabaseName, @OutputSchemaName, @OutputTableName指定","結果がテーブルに保存される","高","出力テーブル機能"
"14","UT-BLF-014","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","FileStats出力テーブルが正しく作成・保存されること","出力先データベース存在","@OutputTableNameFileStats指定","ファイル統計がテーブルに保存される","中","FileStats出力機能"
"15","UT-BLF-015","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","PerfmonStats出力テーブルが正しく作成・保存されること","出力先データベース存在","@OutputTableNamePerfmonStats指定","Perfmon統計がテーブルに保存される","中","PerfmonStats出力機能"
"16","UT-BLF-016","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","WaitStats出力テーブルが正しく作成・保存されること","出力先データベース存在","@OutputTableNameWaitStats指定","待機統計がテーブルに保存される","中","WaitStats出力機能"
"17","UT-BLF-017","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","BlitzCache出力テーブルが正しく作成・保存されること","出力先データベース存在, sp_BlitzCache存在","@OutputTableNameBlitzCache指定","BlitzCache結果がテーブルに保存される","中","BlitzCache出力機能"
"18","UT-BLF-018","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","BlitzWho出力テーブルが正しく作成・保存されること","出力先データベース存在, sp_BlitzWho存在","@OutputTableNameBlitzWho指定","BlitzWho結果がテーブルに保存される","中","BlitzWho出力機能"
"19","UT-BLF-019","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","OutputResultSetsで出力結果セットを制御できること","SQL Server接続済み","@OutputResultSets = 'Findings|WaitStats'","指定した結果セットのみ返却される","中","OutputResultSets機能"
"20","UT-BLF-020","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","OutputTableRetentionDaysで古いデータが削除されること","出力テーブルに古いデータ存在","@OutputTableRetentionDays = 7","7日より古いデータが削除される","中","データ保持期間機能"
"21","UT-BLF-021","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","CheckProcedureCache=1でプランキャッシュ分析が実行されること","SQL Server接続済み","@CheckProcedureCache = 1","プランキャッシュの分析結果が含まれる","中","プランキャッシュ分析機能"
"22","UT-BLF-022","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","ShowSleepingSPIDs=1で休止中セッションが表示されること","休止中セッション存在","@ShowSleepingSPIDs = 1","休止中のセッション情報が含まれる","低","ShowSleepingSPIDs機能"
"23","UT-BLF-023","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","FileLatencyThresholdMSでしきい値を変更できること","ディスクI/O発生中","@FileLatencyThresholdMS = 50","50ms以上のレイテンシが検出される","中","ファイルレイテンシしきい値機能"
"24","UT-BLF-024","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","MemoryGrantThresholdPctでメモリ付与しきい値を変更できること","メモリ付与が発生中","@MemoryGrantThresholdPct = 10.00","10%以上のメモリ付与が検出される","中","メモリ付与しきい値機能"
"25","UT-BLF-025","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","Debug=1でデバッグ情報が出力されること","SQL Server接続済み","@Debug = 1","RAISERRORによるデバッグメッセージが出力される","低","デバッグモード機能"
"26","UT-BLF-026","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 1","正常系","バックアップ実行中の検出が正しく動作すること","バックアップが5分以上実行中","@Seconds > 0","CheckID 1: Backup Runningが検出される","高","メンテナンスタスク検出"
"27","UT-BLF-027","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 2","正常系","DBCC CHECK実行中の検出が正しく動作すること","DBCC CHECKDBが実行中","@Seconds > 0","CheckID 2: DBCC CHECK* Runningが検出される","高","メンテナンスタスク検出"
"28","UT-BLF-028","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 3","正常系","リストア実行中の検出が正しく動作すること","リストアが実行中","@Seconds > 0","CheckID 3: Restore Runningが検出される","高","メンテナンスタスク検出"
"29","UT-BLF-029","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 4","正常系","データベースファイル拡張中の検出が正しく動作すること","ファイル拡張が発生中","@Seconds > 0","CheckID 4: Database File Growingが検出される","高","SQL Server内部メンテナンス検出"
"30","UT-BLF-030","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 5","正常系","長時間実行クエリによるブロッキングの検出が正しく動作すること","LCK待機が30秒以上発生中","@Seconds > 0","CheckID 5: Long-Running Query Blocking Othersが検出される","高","クエリ問題検出"
"31","UT-BLF-031","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 6","正常系","待機統計の上位10件が正しく取得されること","SQL Server接続済み","@Seconds > 0","CheckID 6: Wait Stats上位10件が返却される","高","待機統計分析"
"32","UT-BLF-032","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 7","正常系","プランキャッシュクリア直後の検出が正しく動作すること","DBCC FREEPROCCACHEが15分以内に実行された","デフォルトパラメータ","CheckID 7: Plan Cache Erased Recentlyが検出される","中","クエリ問題検出"
"33","UT-BLF-033","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 8","正常系","トランザクション開いたまま休止中のクエリ検出が正しく動作すること","open_tran > 0でsleeping状態のセッション存在","@Seconds > 0","CheckID 8: Sleeping Query with Open Transactionsが検出される","高","クエリ問題検出"
"34","UT-BLF-034","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 9","正常系","ロールバック中のクエリ検出が正しく動作すること","ロールバック実行中のセッション存在","@Seconds > 0","CheckID 9: Query Rolling Backが検出される","高","クエリ問題検出"
"35","UT-BLF-035","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 11","正常系","データファイル読み取り遅延の検出が正しく動作すること","PAGEIOLATCHが発生中かつ読み取り遅延あり","@Seconds > 0, @FileLatencyThresholdMS = 100","CheckID 11: Slow Data File Readsが検出される","高","パフォーマンス問題検出"
"36","UT-BLF-036","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 12","正常系","ログファイル書き込み遅延の検出が正しく動作すること","WRITELOGが発生中かつ書き込み遅延あり","@Seconds > 0, @FileLatencyThresholdMS = 100","CheckID 12: Slow Log File Writesが検出される","高","パフォーマンス問題検出"
"37","UT-BLF-037","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 13","正常系","ログファイル拡張の検出が正しく動作すること","ログファイル拡張が発生","@Seconds > 0","CheckID 13: Log File Growingが検出される","中","SQL Server内部メンテナンス検出"
"38","UT-BLF-038","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 14","正常系","ログファイル縮小の検出が正しく動作すること","ログファイル縮小が発生","@Seconds > 0","CheckID 14: Log File Shrinkingが検出される","中","SQL Server内部メンテナンス検出"
"39","UT-BLF-039","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 15","正常系","コンパイル率高の検出が正しく動作すること","コンパイルがバッチ要求の10%以上","@Seconds > 0","CheckID 15: Compilations/Sec Highが検出される","中","クエリ問題検出"
"40","UT-BLF-040","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 16","正常系","再コンパイル率高の検出が正しく動作すること","再コンパイルがバッチ要求の10%以上","@Seconds > 0","CheckID 16: Re-Compilations/Sec Highが検出される","中","クエリ問題検出"
"41","UT-BLF-041","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 17","正常系","リソース消費クエリの検出が正しく動作すること","@CheckProcedureCache = 1","@Seconds >= 10, @CheckProcedureCache = 1","CheckID 17: Most Resource-Intensive Queriesが検出される","中","クエリ統計分析"
"42","UT-BLF-042","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 19","正常系","バッチ要求/秒の情報が正しく取得されること","SQL Server接続済み","@Seconds > 0","CheckID 19: Batch Requests per Secが返却される","中","サーバー情報取得"
"43","UT-BLF-043","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 21","正常系","データベースサイズ合計が正しく取得されること","SQL Server接続済み","デフォルトパラメータ","CheckID 21: Database Size, Total GBが返却される","中","サーバー情報取得"
"44","UT-BLF-044","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 22","正常系","データベース数が正しく取得されること","SQL Server接続済み","デフォルトパラメータ","CheckID 22: Database Countが返却される","中","サーバー情報取得"
"45","UT-BLF-045","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 23","正常系","CPU使用率情報が正しく取得されること","SQL Server接続済み","@Seconds < 30","CheckID 23: CPU Utilizationが返却される","中","サーバー情報取得"
"46","UT-BLF-046","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 24","正常系","高CPU使用率の検出が正しく動作すること","CPU使用率50%以上","@Seconds < 30","CheckID 24: High CPU Utilizationが検出される","高","パフォーマンス問題検出"
"47","UT-BLF-047","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 28","正常系","非SQLプロセスによる高CPU使用率の検出が正しく動作すること","非SQLプロセスのCPU使用率25%以上","@Seconds < 30","CheckID 28: High CPU Utilization - Not SQLが検出される","中","パフォーマンス問題検出"
"48","UT-BLF-048","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 29","正常系","Forwarded Fetch率高の検出が正しく動作すること","ヒープテーブルにforwarded recordsあり","@Seconds > 0","CheckID 29: Forwarded Fetches/Sec Highが検出される","中","テーブル問題検出"
"49","UT-BLF-049","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 30","正常系","Poison Waitの検出が正しく動作すること","THREADPOOL等のPoison Wait発生中","@Seconds > 0","CheckID 30: Poison Wait Detectedが検出される","高","パフォーマンス問題検出"
"50","UT-BLF-050","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 31","正常系","In-Memory OLTPガベージコレクションの検出が正しく動作すること","In-Memory OLTPガベージコレクション発生中","@Seconds > 0","CheckID 31: Garbage Collection in Progressが検出される","低","In-Memory OLTP問題検出"
"51","UT-BLF-051","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 32","正常系","In-Memory OLTPトランザクション中止の検出が正しく動作すること","In-Memory OLTPトランザクション中止発生","@Seconds > 0","CheckID 32: Transactions Abortedが検出される","低","In-Memory OLTP問題検出"
"52","UT-BLF-052","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 33","正常系","サブオプティマルプランの検出が正しく動作すること","サブオプティマルプラン発生","@Seconds > 0","CheckID 33: Suboptimal Plans/Sec Highが検出される","中","クエリ問題検出"
"53","UT-BLF-053","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 34","正常系","過剰な空きメモリの検出が正しく動作すること","空きメモリ20GB以上かつ合計の30%以上","デフォルトパラメータ","CheckID 34: Too Much Free Memoryが検出される","中","パフォーマンス問題検出"
"54","UT-BLF-054","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 35","正常系","ターゲットメモリ低下の検出が正しく動作すること","ターゲットメモリがmax server memoryの2/3以下","デフォルトパラメータ","CheckID 35: Target Memory Lower Than Maxが検出される","高","パフォーマンス問題検出"
"55","UT-BLF-055","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 37","正常系","暗黙的トランザクションの検出が正しく動作すること","暗黙的トランザクションが開いているセッション存在","@Seconds > 0","CheckID 37: Implicit Transactionsが検出される","中","クエリ問題検出"
"56","UT-BLF-056","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 39","正常系","メモリ付与待ちの検出が正しく動作すること","メモリ付与待ちのクエリ存在","デフォルトパラメータ","CheckID 39: Memory Grants Pendingが検出される","高","パフォーマンス問題検出"
"57","UT-BLF-057","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 40","正常系","メモリ付与/ワークスペース情報が正しく取得されること","SQL Server接続済み","デフォルトパラメータ","CheckID 40: Memory Grant/Workspace infoが返却される","中","サーバー情報取得"
"58","UT-BLF-058","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 41","正常系","Azure SQL DatabaseのDTU上限検出が正しく動作すること","Azure SQL Database, DTU90%以上","Azure SQL Database環境","CheckID 41: Database is Maxed Outが検出される","高","Azure固有の問題検出"
"59","UT-BLF-059","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 42","正常系","カーディナリティ推定エラーの検出が正しく動作すること","実行中クエリにカーディナリティ誤推定あり","@Seconds > 0","CheckID 42: Queries with 10000x cardinality misestimationsが検出される","中","クエリ問題検出"
"60","UT-BLF-060","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 43","正常系","並列処理の偏りの検出が正しく動作すること","並列クエリでスレッド間の処理量に偏りあり","@Seconds > 0","CheckID 43: Queries with 10000x skewed parallelismが検出される","中","クエリ問題検出"
"61","UT-BLF-061","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 45","正常系","USERSTORE_TOKENPERMメモリリークの検出が正しく動作すること","USERSTORE_TOKENPERMがバッファプールの10%以上使用","デフォルトパラメータ","CheckID 45: Memory Leak in USERSTORE_TOKENPERM Cacheが検出される","中","メモリ問題検出"
"62","UT-BLF-062","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 46","正常系","高メモリ付与クエリの検出が正しく動作すること","メモリ付与がワークスペースの15%以上のクエリ存在","@MemoryGrantThresholdPct = 15.00","CheckID 46: Query with a memory grant exceeding 15%が検出される","中","クエリ問題検出"
"63","UT-BLF-063","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 47","正常系","Runnableクエリ高比率の検出が正しく動作すること","Runnableステータスのクエリが20%以上","@Seconds > 0","CheckID 47: High Percentage Of Runnable Queriesが検出される","中","パフォーマンス問題検出"
"64","UT-BLF-064","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 50","正常系","スレッド時間情報が正しく取得されること","SQL Server接続済み","@Seconds > 0","CheckID 50: Thread Timeが返却される","低","サーバー情報取得"
"65","UT-BLF-065","sp_BlitzFirst.sql","sp_BlitzFirst","CheckID 51","正常系","デッドロックの検出が正しく動作すること","サンプル期間中にデッドロック発生","@Seconds > 0","CheckID 51: Deadlocksが検出される","高","クエリ問題検出"
"66","UT-BLF-066","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","異常系","OutputType=NONEで出力テーブル未指定時にエラーが発生すること","SQL Server接続済み","@OutputType = 'NONE', @OutputTableName = NULL","エラーメッセージが返却される","高","入力検証"
"67","UT-BLF-067","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","異常系","LogMessage指定で出力テーブルが存在しない場合にエラーが発生すること","出力テーブル未存在","@LogMessage = 'Test', @OutputDatabaseName = '[NonExistent]'","エラーメッセージが返却される","高","入力検証"
"68","UT-BLF-068","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","異常系","単一#一時テーブル指定でエラーが発生すること","SQL Server接続済み","@OutputTableName = '#LocalTemp'","エラーメッセージが返却される（##のみサポート）","中","入力検証"
"69","UT-BLF-069","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","境界値","Seconds=0でサーバー起動以降の統計が取得されること","SQL Server接続済み","@Seconds = 0","サーバー起動以降の累積統計が返却される","中","境界値テスト"
"70","UT-BLF-070","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","境界値","Seconds=1の最小サンプリング時間が正しく動作すること","SQL Server接続済み","@Seconds = 1","1秒間のサンプリング結果が返却される","中","境界値テスト"
"71","UT-BLF-071","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","境界値","OutputTableRetentionDays=1で古いデータが正しく削除されること","出力テーブルに2日以上前のデータ存在","@OutputTableRetentionDays = 1","1日より古いデータが削除される","中","境界値テスト"
"72","UT-BLF-072","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","境界値","FileLatencyThresholdMS=1の最小しきい値が正しく動作すること","ディスクI/O発生中","@FileLatencyThresholdMS = 1","1ms以上のレイテンシがすべて検出される","低","境界値テスト"
"73","UT-BLF-073","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","境界値","MemoryGrantThresholdPct=0.01の最小しきい値が正しく動作すること","メモリ付与発生中","@MemoryGrantThresholdPct = 0.01","0.01%以上のメモリ付与がすべて検出される","低","境界値テスト"
"74","UT-BLF-074","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","状態","Azure SQL Databaseで正しく動作すること","Azure SQL Database環境","デフォルトパラメータ","Azure SQL Database用の検出ロジックが実行される","高","環境依存テスト"
"75","UT-BLF-075","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","状態","Linuxで正しく動作すること","Linux上のSQL Server","デフォルトパラメータ","Linux用のCPU使用率計算ロジックが使用される","中","環境依存テスト"
"76","UT-BLF-076","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","状態","Availability Groups環境で正しく動作すること","Always On AG構成","デフォルトパラメータ","読み取り専用セカンダリが適切に除外される","中","環境依存テスト"
"77","UT-BLF-077","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","状態","sp_BlitzWho未インストール時に警告が表示されること","sp_BlitzWhoが存在しない","@ExpertMode = 1, @Seconds > 0","sp_BlitzWho未インストールの警告メッセージが表示される","低","依存関係テスト"
"78","UT-BLF-078","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","状態","sp_BlitzCache未インストール時でも動作すること","sp_BlitzCacheが存在しない","@OutputTableNameBlitzCache指定","エラーなく実行完了（BlitzCache結果は除く）","低","依存関係テスト"
"79","UT-BLF-079","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","グローバル一時テーブル出力が正しく動作すること","SQL Server接続済み","@OutputTableName = '##BlitzFirstResults'","結果がグローバル一時テーブルに保存される","中","出力テーブル機能"
"80","UT-BLF-080","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","OutputXMLasNVARCHAR=1でXMLがNVARCHARに変換されること","SQL Server接続済み","@OutputXMLasNVARCHAR = 1","QueryPlan等のXML列がNVARCHARとして出力される","低","出力形式変換機能"
"81","UT-BLF-081","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","CheckServerInfo=0でサーバー情報が除外されること","SQL Server接続済み","@CheckServerInfo = 0","サーバー情報（CheckID 21-23等）が除外される","低","出力制御機能"
"82","UT-BLF-082","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","BlitzCacheSkipAnalysis=0で詳細分析が実行されること","SQL Server接続済み, sp_BlitzCache存在","@BlitzCacheSkipAnalysis = 0","BlitzCacheの詳細分析が実行される","低","BlitzCache連携機能"
"83","UT-BLF-083","sp_BlitzFirst.sql","sp_BlitzFirst","Output Views","正常系","FileStats Deltasビューが正しく作成されること","出力テーブル存在","@OutputTableNameFileStats指定","[OutputTableNameFileStats]_Deltasビューが作成される","中","ビュー作成機能"
"84","UT-BLF-084","sp_BlitzFirst.sql","sp_BlitzFirst","Output Views","正常系","PerfmonStats Deltasビューが正しく作成されること","出力テーブル存在","@OutputTableNamePerfmonStats指定","[OutputTableNamePerfmonStats]_Deltasビューが作成される","中","ビュー作成機能"
"85","UT-BLF-085","sp_BlitzFirst.sql","sp_BlitzFirst","Output Views","正常系","PerfmonStats Actualsビューが正しく作成されること","出力テーブル存在","@OutputTableNamePerfmonStats指定","[OutputTableNamePerfmonStats]_Actualsビューが作成される","中","ビュー作成機能"
"86","UT-BLF-086","sp_BlitzFirst.sql","sp_BlitzFirst","Output Views","正常系","WaitStats Deltasビューが正しく作成されること","出力テーブル存在","@OutputTableNameWaitStats指定","[OutputTableNameWaitStats]_Deltasビューが作成される","中","ビュー作成機能"
"87","UT-BLF-087","sp_BlitzFirst.sql","sp_BlitzFirst","Output Views","正常系","WaitStats Categoriesテーブルが正しく作成されること","出力テーブル存在","@OutputTableNameWaitStats指定","[OutputTableNameWaitStats]_Categoriesテーブルが作成される","中","テーブル作成機能"
"88","UT-BLF-088","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","複数回実行時に出力テーブルにデータが追加されること","出力テーブル存在、既存データあり","@OutputTableName指定で複数回実行","既存データに追加される形で結果が保存される","中","累積データ保存機能"
"89","UT-BLF-089","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageCheckIDパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessageCheckID = 99","CheckID=99でメッセージが保存される","低","ログメッセージ機能"
"90","UT-BLF-090","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessagePriorityパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessagePriority = 5","Priority=5でメッセージが保存される","低","ログメッセージ機能"
"91","UT-BLF-091","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageFindingsGroupパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessageFindingsGroup = 'Custom Group'","FindingsGroup='Custom Group'でメッセージが保存される","低","ログメッセージ機能"
"92","UT-BLF-092","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageFindingパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessageFinding = 'Custom Finding'","Finding='Custom Finding'でメッセージが保存される","低","ログメッセージ機能"
"93","UT-BLF-093","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageURLパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessageURL = 'http://example.com'","URL='http://example.com'でメッセージが保存される","低","ログメッセージ機能"
"94","UT-BLF-094","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","LogMessageCheckDateパラメータが正しく適用されること","出力テーブル存在","@LogMessage設定, @LogMessageCheckDate = '2024-01-01'","CheckDate='2024-01-01'でメッセージが保存される","低","ログメッセージ機能"
"95","UT-BLF-095","sp_BlitzFirst.sql","sp_BlitzFirst","Wait Categories","正常系","待機カテゴリテーブルが正しく作成・利用されること","SQL Server接続済み","デフォルトパラメータ","##WaitCategoriesテーブルが作成され527行が挿入される","中","待機カテゴリ機能"
"96","UT-BLF-096","sp_BlitzFirst.sql","sp_BlitzFirst","Wait Categories","正常系","既存の待機カテゴリテーブルが再利用されること","##WaitCategoriesテーブル存在","デフォルトパラメータ","既存の##WaitCategoriesテーブルが再利用される","低","待機カテゴリ機能"
"97","UT-BLF-097","sp_BlitzFirst.sql","sp_BlitzFirst","Perfmon Counters","正常系","カスタムPerfmonカウンタが利用できること","#CustomPerfmonCountersテーブル存在","#CustomPerfmonCountersに値設定","カスタムカウンタが収集される","低","カスタムPerfmon機能"
"98","UT-BLF-098","sp_BlitzFirst.sql","sp_BlitzFirst","Perfmon Counters","正常系","デフォルトPerfmonカウンタが正しく収集されること","SQL Server接続済み","デフォルトパラメータ","約100種類のPerfmonカウンタが収集される","中","Perfmon収集機能"
"99","UT-BLF-099","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","EXECUTE AS CALLERで呼び出し元のコンテキストで実行されること","適切な権限を持つユーザー","デフォルトパラメータ","呼び出し元ユーザーの権限で実行される","中","セキュリティ機能"
"100","UT-BLF-100","sp_BlitzFirst.sql","sp_BlitzFirst","Main Procedure","正常系","RECOMPILEオプションで毎回新しいプランが生成されること","SQL Server接続済み","デフォルトパラメータ","毎回実行時に新しい実行プランが生成される","低","実行プラン機能"
"1","UT-BIX-001","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","パラメータなしでデフォルト実行","SQL Server 2008以降、有効なデータベース接続","パラメータなし（全デフォルト）","現在のデータベースに対してMode=0（Diagnose）で実行され、インデックス分析結果が返される","高","基本動作確認"
"2","UT-BIX-002","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Help=1でヘルプ表示","SQL Server接続済み","@Help=1","ヘルプメッセージが表示され、処理が終了する","中","ヘルプ機能"
"3","UT-BIX-003","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@VersionCheckMode=1でバージョン確認","SQL Server接続済み","@VersionCheckMode=1","バージョン情報が出力パラメータに設定され、即座にRETURN","中","バージョン確認機能"
"4","UT-BIX-004","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Mode=0（Diagnose）で実行","有効なデータベース","@DatabaseName='TestDB', @Mode=0","インデックス診断結果（重複インデックス、未使用インデックス等）が返される","高","診断モード"
"5","UT-BIX-005","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Mode=1（Summarize）で実行","有効なデータベース","@DatabaseName='TestDB', @Mode=1","インデックス使用状況のサマリーが返される","高","サマリーモード"
"6","UT-BIX-006","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Mode=2（Index Usage Detail）で実行","有効なデータベース","@DatabaseName='TestDB', @Mode=2","既存インデックスの詳細情報が返される","高","インデックス詳細モード"
"7","UT-BIX-007","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Mode=3（Missing Index Detail）で実行","有効なデータベース","@DatabaseName='TestDB', @Mode=3","欠落インデックスの詳細情報が返される","高","欠落インデックスモード"
"8","UT-BIX-008","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Mode=4（Diagnose Details）で実行","有効なデータベース","@DatabaseName='TestDB', @Mode=4","詳細診断結果（Priority 101+を含む）が返される","高","詳細診断モード"
"9","UT-BIX-009","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@ObjectNameで完全修飾テーブル名指定","指定テーブルが存在する","@ObjectName='TestDB.dbo.TestTable'","DatabaseName, SchemaName, TableNameが正しく解析され、該当テーブルの分析結果が返される","高","オブジェクト名解析"
"10","UT-BIX-010","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@DatabaseName, @SchemaName, @TableNameを個別指定","指定テーブルが存在する","@DatabaseName='TestDB', @SchemaName='dbo', @TableName='TestTable'","該当テーブルのインデックス詳細が返される","高","個別パラメータ指定"
"11","UT-BIX-011","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@GetAllDatabases=1で全データベース分析","複数のユーザーデータベースが存在","@GetAllDatabases=1","全ユーザーデータベースのインデックス分析が実行される","高","全データベース分析"
"12","UT-BIX-012","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Filter=1で低使用率警告を除外","有効なデータベース","@Mode=0, @Filter=1","読み取り0のオブジェクトに対する低使用率警告が除外される","中","フィルタ機能"
"13","UT-BIX-013","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Filter=2で500MB以上のオブジェクトのみ警告","有効なデータベース","@Mode=0, @Filter=2","500MB以上のオブジェクトに対してのみ警告が出力される","中","サイズフィルタ"
"14","UT-BIX-014","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@SkipPartitions=1でパーティション分析スキップ","パーティションテーブルが存在","@SkipPartitions=1","パーティション情報の収集がスキップされる","中","パーティションスキップ"
"15","UT-BIX-015","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@SkipStatistics=0で統計情報を収集","有効なデータベース","@SkipStatistics=0","統計情報が収集・分析される","中","統計情報収集"
"16","UT-BIX-016","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@ShowColumnstoreOnly=1でカラムストアのみ表示","カラムストアインデックスが存在","@ShowColumnstoreOnly=1","カラムストアインデックスのRow Group/Segment詳細のみが表示される","中","カラムストア専用"
"17","UT-BIX-017","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@BringThePain=1で50+データベース分析許可","50以上のデータベースが存在","@GetAllDatabases=1, @BringThePain=1","50以上のデータベースでも分析が実行される","中","大規模環境対応"
"18","UT-BIX-018","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@IgnoreDatabasesで特定DB除外","複数データベース存在","@GetAllDatabases=1, @IgnoreDatabases='DB1,DB2'","指定されたデータベースが分析から除外される","中","データベース除外"
"19","UT-BIX-019","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@ThresholdMBで結果フィルタリング","様々なサイズのテーブルが存在","@ThresholdMB=500","500MB以上のオブジェクトのみが基本結果に含まれる","中","サイズ閾値"
"20","UT-BIX-020","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@OutputType='TABLE'で結果表示","有効なデータベース","@OutputType='TABLE'","結果がテーブル形式で返される","高","出力タイプ指定"
"21","UT-BIX-021","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@OutputType='NONE'で出力テーブルに保存","出力テーブルが存在または作成可能","@OutputType='NONE', @OutputDatabaseName='DBA', @OutputSchemaName='dbo', @OutputTableName='BlitzIndexResults'","結果が指定テーブルに保存され、画面出力なし","中","テーブル出力"
"22","UT-BIX-022","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@IncludeInactiveIndexes=1で非アクティブインデックス含む","非アクティブインデックスが存在","@IncludeInactiveIndexes=1","読み書きのないインデックスも結果に含まれる","中","非アクティブ含む"
"23","UT-BIX-023","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@ShowAllMissingIndexRequests=1で全欠落インデックス表示","欠落インデックス情報が存在","@Mode=3, @ShowAllMissingIndexRequests=1","全ての欠落インデックス要求が表示される（閾値無視）","中","全欠落インデックス"
"24","UT-BIX-024","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@ShowPartitionRanges=1でパーティション範囲表示","パーティションテーブルが存在","@ShowPartitionRanges=1","カラムストアVisualizationにパーティション範囲値が追加される","低","パーティション範囲"
"25","UT-BIX-025","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@SortOrderでMode=2の並び順指定","有効なデータベース","@Mode=2, @SortOrder='size'","指定された並び順で結果が返される","低","並び順指定"
"26","UT-BIX-026","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@SortDirection='ASC'で昇順ソート","有効なデータベース","@Mode=2, @SortDirection='ASC'","昇順で結果が返される","低","ソート方向"
"27","UT-BIX-027","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@Debug=1でデバッグ出力","有効なデータベース","@Debug=1","実行されるDynamic SQLがPRINTで出力される","低","デバッグモード"
"28","UT-BIX-028","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@UsualStatisticsSamplingPercent指定","有効なデータベース","@SkipStatistics=0, @UsualStatisticsSamplingPercent=50","50%以外のサンプリング率の統計が報告される","低","統計サンプリング率"
"29","UT-BIX-029","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","OUTPUTパラメータでバージョン取得","SQL Server接続済み","@Version OUTPUT, @VersionDate OUTPUT","バージョン番号と日付がOUTPUTパラメータに設定される","中","OUTPUTパラメータ"
"30","UT-BIX-030","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","無効な@Mode値","SQL Server接続済み","@Mode=5","エラーメッセージ「Invalid @Mode parameter」が発生","高","パラメータ検証"
"31","UT-BIX-031","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","無効な@OutputType値","SQL Server接続済み","@OutputType='INVALID'","エラーメッセージ「Invalid value for parameter @OutputType」が発生","高","出力タイプ検証"
"32","UT-BIX-032","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@UsualStatisticsSamplingPercent=0","SQL Server接続済み","@UsualStatisticsSamplingPercent=0","エラーメッセージ「Invalid value for parameter @UsualStatisticsSamplingPercent」が発生","中","統計パーセント検証"
"33","UT-BIX-033","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@UsualStatisticsSamplingPercent=101","SQL Server接続済み","@UsualStatisticsSamplingPercent=101","エラーメッセージ「Invalid value for parameter @UsualStatisticsSamplingPercent」が発生","中","統計パーセント上限"
"34","UT-BIX-034","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","存在しないデータベース指定","SQL Server接続済み","@DatabaseName='NonExistentDB'","エラーメッセージ「Database does not exist or is not online/multi-user」が発生","高","データベース存在確認"
"35","UT-BIX-035","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","存在しないテーブル指定","有効なデータベース","@DatabaseName='TestDB', @SchemaName='dbo', @TableName='NonExistentTable'","エラーメッセージ「I can't find the table or indexed view」が発生","高","テーブル存在確認"
"36","UT-BIX-036","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@SchemaNameのみ指定（@TableNameなし）","有効なデータベース","@SchemaName='dbo', @TableName=NULL","エラーメッセージ「We can't run against a whole schema」が発生","中","スキーマ単独指定"
"37","UT-BIX-037","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@Mode<>0で@TableName指定","有効なデータベース","@Mode=1, @TableName='TestTable'","エラーメッセージ「Setting the @Mode doesn't change behavior」が発生","中","Mode/TableName競合"
"38","UT-BIX-038","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@Mode<>0で@Filter指定","有効なデータベース","@Mode=1, @Filter=1","エラーメッセージ「@Filter only applies when @Mode=0」が発生","中","Mode/Filter競合"
"39","UT-BIX-039","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@OutputType='NONE'で出力先不完全","SQL Server接続済み","@OutputType='NONE', @OutputDatabaseName='DBA', @OutputSchemaName=NULL, @OutputTableName=NULL","エラーメッセージ「This procedure should be called with a value for @OutputTableName」が発生","中","出力パラメータ不足"
"40","UT-BIX-040","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","@OutputServerName指定で他の出力パラメータ不足","SQL Server接続済み","@OutputType='NONE', @OutputServerName='LinkedServer', @OutputDatabaseName=NULL","エラーメッセージ「rest of @Output* parameters needs to also be specified」が発生","中","リンクサーバー出力"
"41","UT-BIX-041","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","SQL Server 2005で実行","SQL Server 2005","パラメータなし","エラーメッセージ「sp_BlitzIndex is only supported on SQL Server 2008 and higher」が発生","高","バージョン制限"
"42","UT-BIX-042","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","オフラインデータベース指定","オフラインDBが存在","@DatabaseName='OfflineDB'","エラーメッセージ「Database does not exist or is not online/multi-user」が発生","中","オフラインDB"
"43","UT-BIX-043","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","異常系","シングルユーザーモードDB指定","シングルユーザーDBが存在","@DatabaseName='SingleUserDB'","エラーメッセージ「Database does not exist or is not online/multi-user」が発生","中","シングルユーザーDB"
"44","UT-BIX-044","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@ThresholdMB=0","有効なデータベース","@ThresholdMB=0","0MB以上（全て）のオブジェクトが結果に含まれる","中","閾値最小"
"45","UT-BIX-045","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@ThresholdMB=2147483647（INT最大値）","有効なデータベース","@ThresholdMB=2147483647","極めて大きなオブジェクトのみが結果に含まれる（おそらく空結果）","低","閾値最大"
"46","UT-BIX-046","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@Mode=0（境界下限）","有効なデータベース","@Mode=0","有効なModeとして正常処理される","中","Mode下限"
"47","UT-BIX-047","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@Mode=4（境界上限）","有効なデータベース","@Mode=4","有効なModeとして正常処理される","中","Mode上限"
"48","UT-BIX-048","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@Filter=0（境界下限）","有効なデータベース","@Mode=0, @Filter=0","フィルタなしとして正常処理される","中","Filter下限"
"49","UT-BIX-049","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@Filter=2（境界上限）","有効なデータベース","@Mode=0, @Filter=2","500MBフィルタとして正常処理される","中","Filter上限"
"50","UT-BIX-050","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@UsualStatisticsSamplingPercent=1（下限）","有効なデータベース","@SkipStatistics=0, @UsualStatisticsSamplingPercent=1","1%として正常処理される","低","サンプリング下限"
"51","UT-BIX-051","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","@UsualStatisticsSamplingPercent=100（上限）","有効なデータベース","@SkipStatistics=0, @UsualStatisticsSamplingPercent=100","100%として正常処理される","低","サンプリング上限"
"52","UT-BIX-052","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","50データベースで@BringThePain=0","50データベースが存在","@GetAllDatabases=1, @BringThePain=0","警告メッセージが表示され、分析が中断される","中","DB数境界"
"53","UT-BIX-053","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","49データベースで@BringThePain=0","49データベースが存在","@GetAllDatabases=1, @BringThePain=0","警告なしで正常に分析が実行される","中","DB数境界-1"
"54","UT-BIX-054","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","100パーティションで@BringThePain=0","100パーティションのテーブルが存在","@SkipPartitions=0, @BringThePain=0","データベースがスキップされる警告が出力される","中","パーティション境界"
"55","UT-BIX-055","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","空のデータベース","テーブルが存在しないDB","@DatabaseName='EmptyDB'","空の結果セットまたは情報メッセージが返される","中","空DB"
"56","UT-BIX-056","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","インデックスのないテーブル","HEAPテーブルのみ存在","@DatabaseName='HeapOnlyDB'","HEAP関連の診断結果が返される","中","HEAPのみ"
"57","UT-BIX-057","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","Azure SQL DB上での実行","Azure SQL Database","@DatabaseName=NULL（Azure SQL DB）","現在のデータベースが自動設定され、正常に実行される","高","Azure対応"
"58","UT-BIX-058","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","AG セカンダリでの実行","読み取り可能AGセカンダリ","@GetAllDatabases=1","読み取り不可DBがスキップされ、警告が出力される","中","AG対応"
"59","UT-BIX-059","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","インデックスビューの分析","インデックス付きビューが存在","@TableName='IndexedViewName'","インデックス付きビューの分析結果が返される","中","インデックスビュー"
"60","UT-BIX-060","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","重複インデックスの検出（check_id 1）","重複キーのインデックスが存在","@Mode=0","重複インデックスがPriority 20で報告される","高","診断ルール"
"61","UT-BIX-061","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","類似インデックスの検出（check_id 2）","先頭キー列が同じインデックスが存在","@Mode=0","類似インデックスがPriority 30で報告される","高","診断ルール"
"62","UT-BIX-062","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","過剰インデックスの検出（check_id 20）","10以上のNCインデックスを持つテーブル","@Mode=0","過剰インデックスがPriority 10で報告される","高","診断ルール"
"63","UT-BIX-063","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","未使用NCインデックスの検出（check_id 22）","読み取り0、書き込み10000以上のNCインデックス","@Mode=0","未使用インデックスが報告される","高","診断ルール"
"64","UT-BIX-064","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","ロック待機時間長いインデックス検出（check_id 11）","ロック待機>5分のインデックス","@Mode=0","ロック競合インデックスがPriority 70で報告される","中","診断ルール"
"65","UT-BIX-065","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","一時停止中のResunable Index検出（check_id 122）","一時停止中の再開可能インデックス操作","@Mode=0","Priority 10で警告が報告される","高","Resumable Index"
"66","UT-BIX-066","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","実行中のResunable Index検出（check_id 123）","実行中の再開可能インデックス操作","@Mode=0","Priority 10で情報が報告される","中","Resumable Index"
"67","UT-BIX-067","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","欠落インデックスの検出","DMVに欠落インデックス情報が存在","@Mode=3","欠落インデックス詳細とCREATE INDEX文が返される","高","欠落インデックス"
"68","UT-BIX-068","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","外部キー制約のインデックス確認","インデックスのない外部キーが存在","@Mode=0","インデックスのない外部キーが報告される","中","外部キー分析"
"69","UT-BIX-069","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","統計情報の分析","古い統計情報が存在","@SkipStatistics=0, @Mode=0","古い統計情報が警告として報告される","中","統計分析"
"70","UT-BIX-070","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","フィルター付きインデックスの分析","フィルター付きインデックスが存在","@Mode=0または4","フィルター付きインデックスの詳細が報告される","中","フィルターインデックス"
"71","UT-BIX-071","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","テンポラルテーブルの分析","テンポラルテーブルが存在","@Mode=0または4","テンポラルテーブル関連の情報が報告される","低","テンポラル対応"
"72","UT-BIX-072","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","計算列の分析","計算列を持つテーブル","@Mode=0または4","計算列の情報が報告される","低","計算列"
"73","UT-BIX-073","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","CHECK制約の分析","CHECK制約が存在","@Mode=0または4","CHECK制約の情報が報告される","低","CHECK制約"
"74","UT-BIX-074","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","圧縮情報の表示","圧縮されたインデックスが存在","@Mode=2","データ圧縮情報が結果に含まれる","低","圧縮情報"
"75","UT-BIX-075","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","ID列分析","IDENTITY列が存在","@Mode=0","IDENTITY列の使用状況が分析される","中","ID列"
"76","UT-BIX-076","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","括弧付きテーブル名の解析","[schema].[table]形式の指定","@TableName='[dbo].[Test Table]'","括弧が正しく処理され、テーブルが特定される","中","特殊文字対応"
"77","UT-BIX-077","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","ドット含むテーブル名の解析","ドットを含むテーブル名","@TableName='[Test.Table]'","ドットがオブジェクト名の一部として正しく処理される","中","特殊文字対応"
"78","UT-BIX-078","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","@TableNameのみ指定（スキーマなし）","dboスキーマにテーブルが存在","@TableName='TestTable', @SchemaName=NULL","スキーマがdboとして自動設定される","中","デフォルトスキーマ"
"79","UT-BIX-079","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","XMLインデックスの分析","XMLインデックスが存在","@Mode=2","XMLインデックスが[XML]タグ付きで報告される","低","XMLインデックス"
"80","UT-BIX-080","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","空間インデックスの分析","空間インデックスが存在","@Mode=2","空間インデックスが[SPATIAL]タグ付きで報告される","低","空間インデックス"
"81","UT-BIX-081","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","JSON列インデックスの分析","JSONインデックスが存在","@Mode=2","JSONインデックスが[JSON]タグ付きで報告される","低","JSONインデックス"
"82","UT-BIX-082","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","インメモリOLTPテーブルの分析","インメモリテーブルが存在","@Mode=2","インメモリテーブルが[IN-MEMORY]タグ付きで報告される","低","インメモリOLTP"
"83","UT-BIX-083","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","無効化インデックスの検出","DISABLEDインデックスが存在","@Mode=0または2","無効化インデックスが[DISABLED]タグ付きで報告される","中","無効インデックス"
"84","UT-BIX-084","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","仮想インデックスの検出","HYPOTHETICALインデックスが存在","@Mode=2","仮想インデックスが[HYPOTHETICAL]タグ付きで報告される","低","仮想インデックス"
"85","UT-BIX-085","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","リンクサーバー経由の出力","リンクサーバーが設定済み","@OutputType='NONE', @OutputServerName='LinkedServer', @OutputDatabaseName='DBA', @OutputSchemaName='dbo', @OutputTableName='Results'","リンクサーバー上のテーブルに結果が保存される","低","リンクサーバー出力"
"86","UT-BIX-086","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","sp_BlitzCacheとの連携","@BringThePain=1","@Mode=3, @BringThePain=1, @DatabaseName='TestDB'","sp_BlitzCacheが呼び出され、関連クエリプランが表示される","中","sp_BlitzCache連携"
"87","UT-BIX-087","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","OPTIMIZE_FOR_SEQUENTIAL_KEY対応","SQL Server 2019以降","@Mode=2","optimize_for_sequential_key情報が含まれる","低","2019新機能"
"88","UT-BIX-088","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","ロックエスカレーション設定の表示","LOCK_ESCALATIONが設定されたテーブル","@Mode=2","ロックエスカレーション設定が結果に含まれる","低","ロック設定"
"89","UT-BIX-089","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","転送レコードの検出","HEAPに転送レコードが存在","@Mode=0","転送レコードがパフォーマンス問題として報告される","中","HEAP診断"
"90","UT-BIX-090","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","Incremental Statistics対応","インクリメンタル統計が存在","@SkipStatistics=0","インクリメンタル統計情報が報告される","低","増分統計"
"91","UT-BIX-091","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","エラーハンドリング","BEGIN TRY/CATCHでのエラー捕捉","エラーが発生する状況","エラーを発生させる入力","エラーメッセージが返され、トランザクションがロールバックされる","高","エラー処理"
"92","UT-BIX-092","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","エラーハンドリング","@dsqlがNULLの場合","内部エラー状況","内部処理でNULLが発生","エラーメッセージ「@dsql is null」が発生","中","NULL検出"
"93","UT-BIX-093","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","エラーハンドリング","システムデータベースへのアクセス","master/msdb/model/tempdb","@DatabaseName='master'","システムデータベースは@GetAllDatabases=1から除外される","中","システムDB除外"
"94","UT-BIX-094","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","エラーハンドリング","ReportServerデータベースの除外","ReportServerが存在","@GetAllDatabases=1","ReportServer%データベースが自動的に除外される","低","自動除外"
"95","UT-BIX-095","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","エラーハンドリング","配布データベースの除外","レプリケーション配布DBが存在","@GetAllDatabases=1","is_distributor=1のデータベースが除外される","低","自動除外"
"96","UT-BIX-096","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","CREATE INDEX文の生成","インデックスが存在","@Mode=0","推奨CREATE INDEX文が生成される（ONLINE=?形式）","中","DDL生成"
"97","UT-BIX-097","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","more_info列でのsp_BlitzIndex呼び出しコマンド","分析対象が存在","@Mode=0","各結果行にsp_BlitzIndexの追加呼び出しコマンドが含まれる","低","ヘルパー情報"
"98","UT-BIX-098","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","境界値","サーバー起動直後（DaysUptime=0）","サーバー起動直後","@Mode=0","DaysUptimeが0.01に設定され、ゼロ除算が回避される","中","起動直後対応"
"99","UT-BIX-099","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","トレースフラグの考慮","特定トレースフラグが有効","@Mode=0","トレースフラグの影響が考慮される","低","トレースフラグ"
"100","UT-BIX-100","sp_BlitzIndex.sql","sp_BlitzIndex","sp_BlitzIndex","正常系","照合順序の考慮","異なる照合順序のDB","@DatabaseName='DifferentCollationDB'","データベースの照合順序が正しく処理される","低","照合順序"
"1","UT-BLK-001","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","ヘルプモードで実行した場合にヘルプメッセージが表示されること","SQL Server 2012以降","@Help = 1","ヘルプメッセージがPRINTで出力され、プロシージャが正常終了する","中","@Help = 1 の場合、ヘルプテキストを表示して即座にRETURN"
"2","UT-BLK-002","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","バージョンチェックモードで実行した場合にバージョン情報が返却されること","SQL Server 2012以降","@VersionCheckMode = 1","@Version と @VersionDate にバージョン情報が設定され、即座にRETURN","中","@VersionCheckMode = 1 の場合、バージョン情報のみ返却"
"3","UT-BLK-003","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","デフォルトパラメータでデッドロック分析が実行されること","system_healthセッションがアクティブ","パラメータ指定なし","過去7日間のデッドロック情報が取得・分析され、結果セットが返却される","高","デフォルト動作の基本テスト"
"4","UT-BLK-004","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定データベースでフィルタリングした場合に該当データベースのデッドロックのみ返却されること","対象データベースにデッドロック履歴が存在","@DatabaseName = 'TestDB'","指定データベースのデッドロックのみが結果に含まれる","高","データベースフィルタリング機能"
"5","UT-BLK-005","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","日付範囲を指定した場合に該当期間のデッドロックのみ返却されること","指定期間にデッドロック履歴が存在","@StartDate = '2024-01-01', @EndDate = '2024-01-31'","指定期間内のデッドロックのみが結果に含まれる","高","日付範囲フィルタリング機能"
"6","UT-BLK-006","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定オブジェクト名でフィルタリングした場合に該当オブジェクトのデッドロックのみ返却されること","対象オブジェクトに関連するデッドロック履歴が存在","@ObjectName = 'Database.Schema.Table'","指定オブジェクトに関連するデッドロックのみが結果に含まれる","高","オブジェクトフィルタリング機能"
"7","UT-BLK-007","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定ストアドプロシージャ名でフィルタリングした場合に該当プロシージャのデッドロックのみ返却されること","対象プロシージャに関連するデッドロック履歴が存在","@StoredProcName = 'Database.Schema.Proc'","指定ストアドプロシージャに関連するデッドロックのみが結果に含まれる","高","ストアドプロシージャフィルタリング機能"
"8","UT-BLK-008","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定アプリケーション名でフィルタリングした場合に該当アプリのデッドロックのみ返却されること","対象アプリケーションからのデッドロック履歴が存在","@AppName = 'MyApplication'","指定アプリケーションからのデッドロックのみが結果に含まれる","中","アプリケーション名フィルタリング機能"
"9","UT-BLK-009","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定ホスト名でフィルタリングした場合に該当ホストのデッドロックのみ返却されること","対象ホストからのデッドロック履歴が存在","@HostName = 'SERVER01'","指定ホストからのデッドロックのみが結果に含まれる","中","ホスト名フィルタリング機能"
"10","UT-BLK-010","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","特定ログイン名でフィルタリングした場合に該当ログインのデッドロックのみ返却されること","対象ログインからのデッドロック履歴が存在","@LoginName = 'sa'","指定ログインからのデッドロックのみが結果に含まれる","中","ログイン名フィルタリング機能"
"11","UT-BLK-011","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","カスタム拡張イベントセッションを指定した場合にそのセッションからデッドロック情報が取得されること","カスタムXEセッションがアクティブで有効なデッドロックデータを含む","@EventSessionName = 'custom_deadlock_session'","カスタムセッションからデッドロック情報が取得される","中","カスタムXEセッション対応"
"12","UT-BLK-012","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","ring_bufferターゲットタイプを指定した場合にring_bufferからデータが取得されること","ring_bufferターゲットを持つXEセッションがアクティブ","@TargetSessionType = 'ring_buffer'","ring_bufferからデッドロック情報が取得される","中","ring_bufferターゲット対応"
"13","UT-BLK-013","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","event_fileターゲットタイプを指定した場合にイベントファイルからデータが取得されること","event_fileターゲットを持つXEセッションがアクティブ","@TargetSessionType = 'event_file'","イベントファイルからデッドロック情報が取得される","中","event_fileターゲット対応"
"14","UT-BLK-014","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","テーブルターゲットタイプを指定した場合にテーブルからデータが取得されること","XMLデータを含むテーブルが存在","@TargetSessionType = 'table', @TargetDatabaseName = 'TestDB', @TargetSchemaName = 'dbo', @TargetTableName = 'DeadlockXML', @TargetColumnName = 'deadlock_xml'","テーブルからデッドロック情報が取得される","中","テーブルソース対応"
"15","UT-BLK-015","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","VictimsOnlyモードで実行した場合にvictimプロセスのみ返却されること","デッドロック履歴が存在","@VictimsOnly = 1","デッドロックのvictimプロセスのみが結果に含まれる","中","Victimフィルタリング機能"
"16","UT-BLK-016","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Regular Deadlockタイプでフィルタリングした場合に通常のデッドロックのみ返却されること","通常のデッドロック履歴が存在","@DeadlockType = 'Regular Deadlock'","通常のデッドロックのみが結果に含まれる","中","デッドロックタイプフィルタリング"
"17","UT-BLK-017","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Parallel Deadlockタイプでフィルタリングした場合に並列デッドロックのみ返却されること","並列デッドロック履歴が存在","@DeadlockType = 'Parallel Deadlock'","並列デッドロックのみが結果に含まれる","中","並列デッドロックフィルタリング"
"18","UT-BLK-018","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Debugモードで実行した場合に追加の診断情報が出力されること","SQL Server 2012以降","@Debug = 1","実行計画、中間テーブル、パラメータ値などの診断情報が追加で出力される","低","デバッグモード機能"
"19","UT-BLK-019","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","出力データベースを指定した場合にテーブルに結果が保存されること","出力先データベースが存在","@OutputDatabaseName = 'MonitoringDB', @OutputSchemaName = 'dbo', @OutputTableName = 'BlitzLock'","指定テーブルにデッドロック情報が保存される","高","出力テーブル機能"
"20","UT-BLK-020","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","出力テーブルが存在しない場合に自動作成されること","出力先データベースが存在、テーブルは存在しない","@OutputDatabaseName = 'MonitoringDB', @OutputTableName = 'NewBlitzLock'","出力テーブルが自動的に作成され、データが保存される","高","テーブル自動作成機能"
"21","UT-BLK-021","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","ExportToExcelモードで実行した場合にExcel互換形式で結果が返却されること","デッドロック履歴が存在","@ExportToExcel = 1","XMLではなくプレーンテキスト形式で結果が返却される","低","Excel出力モード"
"22","UT-BLK-022","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Azure SQL Databaseで実行した場合に正常に動作すること","Azure SQL Database環境","デフォルトパラメータ","Azure特有のビューを使用してデッドロック情報が取得される","高","Azure SQL Database対応"
"23","UT-BLK-023","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Azure Managed Instanceで実行した場合に正常に動作すること","Azure Managed Instance環境","デフォルトパラメータ","MI特有の設定(ring_bufferデフォルト等)でデッドロック情報が取得される","高","Managed Instance対応"
"24","UT-BLK-024","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Amazon RDS環境で実行した場合に正常に動作すること","Amazon RDS環境","デフォルトパラメータ","RDS特有の制限(WITH ROWCOUNT無効)を回避してデッドロック情報が取得される","高","Amazon RDS対応"
"25","UT-BLK-025","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 1: データベース別デッドロック集計が正しく生成されること","複数データベースにデッドロック履歴が存在","デフォルトパラメータ","データベース別のデッドロック件数が#deadlock_findingsに登録される","高","Check 1: データベース別集計"
"26","UT-BLK-026","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 2: SELECT関連デッドロック集計が正しく生成されること","S/ISロックを含むデッドロック履歴が存在","デフォルトパラメータ","SELECT関連デッドロックの件数が#deadlock_findingsに登録される","高","Check 2: SELECT関連デッドロック"
"27","UT-BLK-027","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 3: オブジェクト別デッドロック集計が正しく生成されること","複数オブジェクトに関連するデッドロック履歴が存在","デフォルトパラメータ","オブジェクト別のデッドロック件数が#deadlock_findingsに登録される","高","Check 3: オブジェクト別集計"
"28","UT-BLK-028","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 4: Serializableデッドロック集計が正しく生成されること","Serializableトランザクションのデッドロック履歴が存在","デフォルトパラメータ","Serializableデッドロックの件数が#deadlock_findingsに登録される","高","Check 4: Serializableデッドロック"
"29","UT-BLK-029","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 5: Repeatable Readデッドロック集計が正しく生成されること","Repeatable Readトランザクションのデッドロック履歴が存在","デフォルトパラメータ","Repeatable Readデッドロックの件数が#deadlock_findingsに登録される","中","Check 5: Repeatable Readデッドロック"
"30","UT-BLK-030","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 6: ログイン/アプリ/ホスト別デッドロック集計が正しく生成されること","複数ログイン/アプリ/ホストからのデッドロック履歴が存在","デフォルトパラメータ","ログイン/アプリ/ホスト別のデッドロック件数が#deadlock_findingsに登録される","中","Check 6: ログイン/アプリ/ホスト別集計"
"31","UT-BLK-031","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 7: ロックタイプ別デッドロック集計が正しく生成されること","複数ロックタイプのデッドロック履歴が存在","デフォルトパラメータ","オブジェクト別のロックタイプ集計が#deadlock_findingsに登録される","中","Check 7: ロックタイプ別集計"
"32","UT-BLK-032","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 8: sp_BlitzCache/sp_BlitzQueryStoreクエリが正しく生成されること","デッドロック履歴が存在","デフォルトパラメータ","追加分析用のEXECUTEコマンドが#deadlock_findingsに登録される","中","Check 8: More Infoクエリ"
"33","UT-BLK-033","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 9: ストアドプロシージャ別デッドロック集計が正しく生成されること","ストアドプロシージャに関連するデッドロック履歴が存在","デフォルトパラメータ","プロシージャ別のデッドロック件数が#deadlock_findingsに登録される","高","Check 9: プロシージャ別集計"
"34","UT-BLK-034","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 10: sp_BlitzIndexクエリが正しく生成されること","テーブルに関連するデッドロック履歴が存在","デフォルトパラメータ","テーブル分析用のsp_BlitzIndex EXECUTEコマンドが生成される","中","Check 10: BlitzIndexクエリ"
"35","UT-BLK-035","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 11: オブジェクト別待機時間が正しく計算されること","デッドロック履歴が存在","デフォルトパラメータ","オブジェクト別のデッドロック待機時間が#deadlock_findingsに登録される","中","Check 11: オブジェクト別待機時間"
"36","UT-BLK-036","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 12: データベース別待機時間が正しく計算されること","デッドロック履歴が存在","デフォルトパラメータ","データベース別のデッドロック待機時間が#deadlock_findingsに登録される","中","Check 12: データベース別待機時間"
"37","UT-BLK-037","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 13: SQL Agentジョブデッドロック集計が正しく生成されること","SQL Agentジョブからのデッドロック履歴が存在、非Azure/非RDS環境","デフォルトパラメータ","Agentジョブ/ステップ別のデッドロック件数が#deadlock_findingsに登録される","中","Check 13: Agentジョブデッドロック"
"38","UT-BLK-038","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 14: 並列デッドロック集計が正しく生成されること","並列デッドロック(exchangeEvent)履歴が存在","デフォルトパラメータ","並列デッドロックの件数が#deadlock_findingsに登録される","中","Check 14: 並列デッドロック集計"
"39","UT-BLK-039","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 15: スリープ/バックグラウンドセッションデッドロック集計が正しく生成されること","スリープ状態セッションのデッドロック履歴が存在","デフォルトパラメータ","スリープ/バックグラウンドセッションのデッドロック件数が登録される","中","Check 15: スリープセッションデッドロック"
"40","UT-BLK-040","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","Check 16: 暗黙トランザクションデッドロック集計が正しく生成されること","implicit_transactionのデッドロック履歴が存在","デフォルトパラメータ","暗黙トランザクションのデッドロック件数が#deadlock_findingsに登録される","中","Check 16: 暗黙トランザクションデッドロック"
"41","UT-BLK-041","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","OBJECTロック解析が正しく実行されること","OBJECTロックを含むデッドロック履歴が存在","デフォルトパラメータ","OBJECTロック情報が#deadlock_owner_waiterに登録される","高","OBJECTロック解析"
"42","UT-BLK-042","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","PAGEロック解析が正しく実行されること","PAGEロックを含むデッドロック履歴が存在","デフォルトパラメータ","PAGEロック情報が#deadlock_owner_waiterに登録される","高","PAGEロック解析"
"43","UT-BLK-043","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","KEYロック解析が正しく実行されること","KEYロックを含むデッドロック履歴が存在","デフォルトパラメータ","KEYロック情報が#deadlock_owner_waiterに登録される","高","KEYロック解析"
"44","UT-BLK-044","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","RIDロック解析が正しく実行されること","RIDロック(HEAP)を含むデッドロック履歴が存在","デフォルトパラメータ","RIDロック情報が#deadlock_owner_waiterに登録される","高","RIDロック解析"
"45","UT-BLK-045","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","ROWGROUPロック解析が正しく実行されること","ROWGROUPロック(Columnstore)を含むデッドロック履歴が存在","デフォルトパラメータ","ROWGROUPロック情報が#deadlock_owner_waiterに登録される","中","ROWGROUPロック解析"
"46","UT-BLK-046","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","クライアントオプション1が正しくデコードされること","デッドロック履歴が存在","デフォルトパラメータ","clientoption1ビットフラグがIMPLICIT_TRANSACTIONS等の文字列に変換される","低","クライアントオプション1デコード"
"47","UT-BLK-047","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","クライアントオプション2が正しくデコードされること","デッドロック履歴が存在","デフォルトパラメータ","clientoption2ビットフラグがDB CHAINING等の文字列に変換される","低","クライアントオプション2デコード"
"48","UT-BLK-048","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","デッドロックグラフが正しく抽出されること","デッドロック履歴が存在","デフォルトパラメータ","deadlock_graph列にXMLデッドロックグラフが含まれる","高","デッドロックグラフ抽出"
"49","UT-BLK-049","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","実行プラン情報が正しく取得されること","デッドロック履歴が存在、関連プランがキャッシュに存在","デフォルトパラメータ","#available_plansと#dm_exec_query_statsに実行プラン情報が登録される","中","実行プラン取得"
"50","UT-BLK-050","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","@StartDateが@EndDateより後の場合にエラーが発生すること","SQL Server 2012以降","@StartDate = '2024-12-31', @EndDate = '2024-01-01'","エラーメッセージ '@StartDate cannot be after @EndDate.' が表示され、プロシージャが終了する","高","日付バリデーション"
"51","UT-BLK-051","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","存在しないXEセッション名を指定した場合にエラーが発生すること","指定セッションが存在しない","@EventSessionName = 'nonexistent_session'","エラーメッセージ 'A session with the name ... does not exist' が表示される","高","XEセッション存在チェック"
"52","UT-BLK-052","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","アクティブでないXEセッションを指定した場合にエラーが発生すること","セッションは存在するがアクティブでない","@EventSessionName = 'inactive_session'","エラーメッセージ '... is not currently active' が表示される","高","XEセッションアクティブチェック"
"53","UT-BLK-053","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","存在しない出力データベースを指定した場合に警告が表示されること","指定データベースが存在しない","@OutputDatabaseName = 'NonExistentDB'","警告メッセージが表示され、テーブル出力はスキップされる","高","出力データベース存在チェック"
"54","UT-BLK-054","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで@TargetTableNameがNULLの場合にエラーが発生すること","@TargetSessionType = 'table'を指定","@TargetSessionType = 'table', @TargetColumnName = 'xml_col'","エラーメッセージ 'you must specify @TargetTableName' が表示される","高","テーブルターゲットバリデーション"
"55","UT-BLK-055","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで@TargetColumnNameがNULLの場合にエラーが発生すること","@TargetSessionType = 'table'を指定","@TargetSessionType = 'table', @TargetTableName = 'TestTable'","エラーメッセージ 'you must specify ... @TargetColumnName' が表示される","高","テーブルターゲットバリデーション"
"56","UT-BLK-056","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで存在しないデータベースを指定した場合にエラーが発生すること","指定データベースが存在しない","@TargetSessionType = 'table', @TargetDatabaseName = 'NonExistentDB', @TargetTableName = 'Test', @TargetColumnName = 'xml_col'","エラーメッセージ '@TargetDatabaseName ... does not exist' が表示される","高","ターゲットデータベース存在チェック"
"57","UT-BLK-057","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで存在しないスキーマを指定した場合にエラーが発生すること","指定スキーマが存在しない","@TargetSessionType = 'table', @TargetDatabaseName = 'TestDB', @TargetSchemaName = 'NonExistentSchema', @TargetTableName = 'Test', @TargetColumnName = 'xml_col'","エラーメッセージ '@TargetSchemaName ... does not exist' が表示される","高","ターゲットスキーマ存在チェック"
"58","UT-BLK-058","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで存在しないテーブルを指定した場合にエラーが発生すること","指定テーブルが存在しない","@TargetSessionType = 'table', @TargetTableName = 'NonExistentTable', @TargetColumnName = 'xml_col'","エラーメッセージ '@TargetTableName ... does not exist' が表示される","高","ターゲットテーブル存在チェック"
"59","UT-BLK-059","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで存在しない列を指定した場合にエラーが発生すること","指定列が存在しない","@TargetSessionType = 'table', @TargetTableName = 'TestTable', @TargetColumnName = 'NonExistentColumn'","エラーメッセージ '@TargetColumnName ... does not exist' が表示される","高","ターゲット列存在チェック"
"60","UT-BLK-060","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットでXML型以外の列を指定した場合にエラーが発生すること","指定列がXML型でない","@TargetSessionType = 'table', @TargetTableName = 'TestTable', @TargetColumnName = 'varchar_col'","エラーメッセージ '@TargetColumnName ... must be of XML data type' が表示される","高","ターゲット列型チェック"
"61","UT-BLK-061","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで日付型以外のタイムスタンプ列を指定した場合にエラーが発生すること","指定タイムスタンプ列が日付型でない","@TargetSessionType = 'table', @TargetTableName = 'TestTable', @TargetColumnName = 'xml_col', @TargetTimestampColumnName = 'varchar_col'","エラーメッセージ '@TargetTimestampColumnName ... must be of datetime data type' が表示される","中","タイムスタンプ列型チェック"
"62","UT-BLK-062","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","異常系","テーブルターゲットで空のテーブルを指定した場合にエラーが発生すること","ターゲットテーブルにデータがない","@TargetSessionType = 'table', @TargetTableName = 'EmptyTable', @TargetColumnName = 'xml_col'","エラーメッセージ 'No rows found in ...' が表示される","中","空テーブルチェック"
"63","UT-BLK-063","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","@StartDateがNULLの場合にデフォルトで7日前が設定されること","SQL Server 2012以降","@StartDate = NULL, @EndDate = '2024-01-31'","過去7日間のデータが検索対象となる","中","StartDateデフォルト値"
"64","UT-BLK-064","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","@EndDateがNULLの場合にデフォルトで現在日時が設定されること","SQL Server 2012以降","@StartDate = '2024-01-01', @EndDate = NULL","現在日時までのデータが検索対象となる","中","EndDateデフォルト値"
"65","UT-BLK-065","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","デッドロックが0件の場合に空の結果セットが返却されること","デッドロック履歴が存在しない期間","@StartDate = '1900-01-01', @EndDate = '1900-01-02'","空の結果セットが返却される(エラーは発生しない)","高","0件ケース"
"66","UT-BLK-066","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","1件のみのデッドロックがある場合に正しく結果が返却されること","1件のデッドロック履歴のみ存在","該当期間を指定","1件のデッドロック情報が正しく返却される","高","1件ケース"
"67","UT-BLK-067","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","大量のデッドロック(1000件以上)がある場合に正常に処理されること","大量のデッドロック履歴が存在","該当期間を指定","大量のデッドロック情報がタイムアウトなく処理される","中","大量データケース"
"68","UT-BLK-068","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","wait_timeが最大値(bigint)の場合に正しく計算されること","非常に長い待機時間のデッドロック履歴が存在","該当期間を指定","待機時間がオーバーフローせずに正しく表示される","低","wait_time最大値"
"69","UT-BLK-069","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","log_usedが0の場合に正しく処理されること","log_used=0のデッドロック履歴が存在","該当期間を指定","log_usedが0として正しく表示される","低","log_used最小値"
"70","UT-BLK-070","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","transaction_countが0の場合に正しく処理されること","transaction_count=0のデッドロック履歴が存在","該当期間を指定","transaction_countが0として正しく表示される","低","transaction_count最小値"
"71","UT-BLK-071","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","priorityが-10(最低)の場合に正しく処理されること","priority=-10のデッドロック履歴が存在","該当期間を指定","priorityが-10として正しく表示される","低","priority最小値"
"72","UT-BLK-072","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","priorityが10(最高)の場合に正しく処理されること","priority=10のデッドロック履歴が存在","該当期間を指定","priorityが10として正しく表示される","低","priority最大値"
"73","UT-BLK-073","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","状態","既存の出力テーブルに新しい列が不足している場合にALTER TABLEで追加されること","古いバージョンの出力テーブルが存在(spid列等なし)","@OutputDatabaseName = 'MonitoringDB'","spid, wait_resource, client_option_1等の新しい列が自動追加される","中","テーブルスキーマ自動更新"
"74","UT-BLK-074","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","状態","DeadLockTblシノニムが既存の場合に再作成されること","DeadLockTblシノニムが既に存在","@OutputDatabaseName = 'MonitoringDB'","既存シノニムが削除され、新しいシノニムが作成される","中","シノニム再作成"
"75","UT-BLK-075","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","状態","DeadlockFindingsシノニムが既存の場合に再作成されること","DeadlockFindingsシノニムが既に存在","@OutputDatabaseName = 'MonitoringDB'","既存シノニムが削除され、新しいシノニムが作成される","中","シノニム再作成"
"76","UT-BLK-076","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","状態","BlitzLockFindingsテーブルが存在しない場合に自動作成されること","BlitzLockテーブルは存在するがBlitzLockFindingsテーブルは存在しない","@OutputDatabaseName = 'MonitoringDB'","BlitzLockFindingsテーブルが自動作成される","中","Findingsテーブル自動作成"
"77","UT-BLK-077","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","組み合わせ","@DatabaseNameと@StartDate/@EndDateの組み合わせが正しく動作すること","複数条件に合致するデッドロック履歴が存在","@DatabaseName = 'TestDB', @StartDate = '2024-01-01', @EndDate = '2024-01-31'","両方の条件を満たすデッドロックのみが返却される","高","複合フィルタリング"
"78","UT-BLK-078","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","組み合わせ","@AppNameと@HostNameと@LoginNameの組み合わせが正しく動作すること","複数条件に合致するデッドロック履歴が存在","@AppName = 'MyApp', @HostName = 'SERVER01', @LoginName = 'sa'","すべての条件を満たすデッドロックのみが返却される","中","複合フィルタリング"
"79","UT-BLK-079","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","組み合わせ","@VictimsOnlyと@DeadlockTypeの組み合わせが正しく動作すること","Parallel Deadlockのvictimが存在","@VictimsOnly = 1, @DeadlockType = 'Parallel Deadlock'","並列デッドロックのvictimのみが返却される","中","複合フィルタリング"
"80","UT-BLK-080","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","組み合わせ","@OutputDatabaseNameと@ExportToExcelの組み合わせではExportToExcelが無効化されること","出力データベースが存在","@OutputDatabaseName = 'MonitoringDB', @ExportToExcel = 1","ExportToExcelは0に設定され、通常のテーブル出力が行われる","低","競合パラメータ処理"
"81","UT-BLK-081","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","inputbufに特殊文字が含まれる場合に正しくサニタイズされること","特殊文字(NCHAR(0)-NCHAR(31))を含むクエリのデッドロック履歴が存在","デフォルトパラメータ","特殊文字が?に置換された状態でinputbufが表示される","中","特殊文字サニタイズ"
"82","UT-BLK-082","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","object_nameに特殊文字が含まれる場合に正しくサニタイズされること","特殊文字を含むオブジェクト名のデッドロック履歴が存在","デフォルトパラメータ","特殊文字が?に置換された状態でobject_nameが表示される","中","オブジェクト名サニタイズ"
"83","UT-BLK-083","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","inputbufがProc [Database Id = ...]形式の場合にオブジェクト名に解決されること","プロシージャ実行のデッドロック履歴が存在","デフォルトパラメータ","inputbufがSchema.ProcedureName形式に変換される","中","inputbuf解決"
"84","UT-BLK-084","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","SQL Agentジョブのclient_appが正しくジョブ名/ステップ名に変換されること","SQL Agentジョブからのデッドロック履歴が存在、非Azure/非RDS環境","デフォルトパラメータ","client_appが 'SQLAgent - Job: JobName Step: StepName' 形式に変換される","中","Agentジョブ名解決"
"85","UT-BLK-085","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","HEAPテーブルのindex_nameが正しく設定されること","RIDロック(HEAP)を含むデッドロック履歴が存在","デフォルトパラメータ","index_nameが 'TableName.HEAP' 形式で設定される","中","HEAP名設定"
"86","UT-BLK-086","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","並列デッドロックの詳細情報(waiter_type等)が正しく取得されること","SQL Server 2017 CU5以降、並列デッドロック履歴が存在","デフォルトパラメータ","owner_waiter_type, owner_activity等の詳細情報が取得される","中","並列デッドロック詳細(2017 CU5+)"
"87","UT-BLK-087","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","日時がローカルタイムに正しく変換されること","UTCとローカル時間に差異がある環境","デフォルトパラメータ","event_dateがサーバーのローカルタイムで表示される","中","UTC/ローカル時間変換"
"88","UT-BLK-088","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","xml_deadlock_reportイベントが正しく解析されること","xml_deadlock_reportイベントを含むXEデータが存在","デフォルトパラメータ","xml_deadlock_reportからデッドロック情報が抽出される","高","xml_deadlock_report解析"
"89","UT-BLK-089","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","database_xml_deadlock_reportイベントが正しく解析されること","database_xml_deadlock_reportイベント(Azure)を含むXEデータが存在","デフォルトパラメータ","database_xml_deadlock_reportからデッドロック情報が抽出される","高","database_xml_deadlock_report解析"
"90","UT-BLK-090","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","xml_deadlock_report_filteredイベントが正しく解析されること","xml_deadlock_report_filteredイベントを含むXEデータが存在","デフォルトパラメータ","xml_deadlock_report_filteredからデッドロック情報が抽出される","中","xml_deadlock_report_filtered解析"
"91","UT-BLK-091","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","テーブルターゲットの/eventノード形式XMLが正しく解析されること","/event形式のXMLを含むテーブルが存在","@TargetSessionType = 'table', @TargetTableName = 'DeadlockXML', @TargetColumnName = 'xml_col'","/event形式XMLからデッドロック情報が抽出される","中","/eventノード形式解析"
"92","UT-BLK-092","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","テーブルターゲットの/deadlockノード形式XMLが正しく解析されること","/deadlock形式のXMLを含むテーブルが存在","@TargetSessionType = 'table', @TargetTableName = 'DeadlockXML', @TargetColumnName = 'xml_col'","/deadlock形式XMLからデッドロック情報が抽出される","中","/deadlockノード形式解析"
"93","UT-BLK-093","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","テーブルターゲットでタイムスタンプ列によるフィルタリングが正しく動作すること","タイムスタンプ列を含むテーブルが存在","@TargetSessionType = 'table', @TargetTableName = 'DeadlockXML', @TargetColumnName = 'xml_col', @TargetTimestampColumnName = 'event_time', @StartDate = '2024-01-01', @EndDate = '2024-01-31'","タイムスタンプ列でフィルタリングされたデータが返却される","中","タイムスタンプフィルタリング"
"94","UT-BLK-094","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","system_healthセッションからデータが正しく取得されること","system_healthセッションがアクティブ","@EventSessionName = 'system_health'","system_healthセッションからデッドロック情報が取得される","高","system_healthセッション"
"95","UT-BLK-095","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","SQL Server 2016以降でsp_BlitzQueryStoreクエリが生成されること","SQL Server 2016以降またはAzure、プロシージャ関連デッドロック履歴が存在","デフォルトパラメータ","sp_BlitzQueryStore実行コマンドが#deadlock_findingsに登録される","中","BlitzQueryStoreクエリ生成"
"96","UT-BLK-096","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","RCSIが有効なデータベースのSELECTデッドロックで適切なメッセージが表示されること","RCSIが有効でSELECT関連デッドロック履歴が存在","デフォルトパラメータ","object_nameに 'You already enabled RCSI, but...' が表示される","中","RCSI検出"
"97","UT-BLK-097","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","owner_idとwaiter_idが同一の重複レコードが削除されること","自己参照的なレコードを含むデッドロック履歴が存在","デフォルトパラメータ","owner_id = waiter_idのレコードが#deadlock_owner_waiterから削除される","中","重複レコード削除"
"98","UT-BLK-098","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","並列デッドロックの重複レコードが削除されること","重複する並列デッドロックレコードが存在","デフォルトパラメータ","ROW_NUMBER > 1の重複レコードが#deadlock_resource_parallelから削除される","中","並列デッドロック重複削除"
"99","UT-BLK-099","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","境界値","@DatabaseNameが存在しないデータベースの場合に結果が空になること","指定データベースが存在しない","@DatabaseName = 'NonExistentDB'","エラーは発生せず、空の結果セットが返却される","中","存在しないDB指定"
"100","UT-BLK-100","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","@DeadlockTypeに'regular'を指定した場合に'Regular Deadlock'に正規化されること","通常のデッドロック履歴が存在","@DeadlockType = 'regular'","@DeadlockTypeが'Regular Deadlock'に変換され、通常デッドロックが返却される","低","DeadlockType正規化"
"101","UT-BLK-101","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","@DeadlockTypeに'parallel'を指定した場合に'Parallel Deadlock'に正規化されること","並列デッドロック履歴が存在","@DeadlockType = 'parallel'","@DeadlockTypeが'Parallel Deadlock'に変換され、並列デッドロックが返却される","低","DeadlockType正規化"
"102","UT-BLK-102","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","victim判定が正しく行われること","複数プロセスのデッドロック履歴が存在","デフォルトパラメータ","is_victim = 1がvictim-list/victimProcessに一致するプロセスにのみ設定される","高","victim判定"
"103","UT-BLK-103","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","結果セットがevent_date、is_victim DESCの順でソートされること","複数のデッドロック履歴が存在","デフォルトパラメータ","結果がevent_date昇順、is_victim降順でソートされる","中","結果ソート順"
"104","UT-BLK-104","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","deadlock_groupが正しいフォーマットで生成されること","複数のデッドロック履歴が存在","デフォルトパラメータ","deadlock_groupが'Deadlock #N, Query #M'形式で生成される","中","deadlock_groupフォーマット"
"105","UT-BLK-105","sp_BlitzLock.sql","sp_BlitzLock","sp_BlitzLock","正常系","victimプロセスのdeadlock_groupに' - VICTIM'が付与されること","デッドロック履歴が存在","デフォルトパラメータ","victimプロセスのdeadlock_groupに' - VICTIM'サフィックスが付与される","中","VICTIMラベル"
"1","UT-BWH-001","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","デフォルトパラメータで実行中クエリ一覧が取得できること","SQL Server接続済み、アクティブなクエリが存在","全パラメータデフォルト","実行中クエリの一覧が返却される（run_date, elapsed_time, session_id等のカラムを含む結果セット）","高","基本機能の確認"
"2","UT-BWH-002","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@Help=1でヘルプ情報が表示されること","SQL Server接続済み","@Help=1","sp_BlitzWhoの使用方法、制限事項、MITライセンス情報がPRINT出力される","中","ヘルプ機能の確認"
"3","UT-BWH-003","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@VersionCheckMode=1でバージョン情報のみが返却されること","SQL Server接続済み","@VersionCheckMode=1, @Version OUTPUT, @VersionDate OUTPUT","@Version='8.29', @VersionDate='20260203'が出力パラメータに設定され、即座にRETURNする","中","バージョンチェックモード"
"4","UT-BWH-004","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@ShowSleepingSPIDs=0でスリープ中のSPIDが除外されること","スリープ中のセッションが存在","@ShowSleepingSPIDs=0","database_nameがNULLでないセッションのみが返却される","高","スリープセッションのフィルタリング"
"5","UT-BWH-005","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@ShowSleepingSPIDs=1でオープントランザクションを持つスリープセッションが表示されること","オープントランザクションを持つスリープセッションが存在","@ShowSleepingSPIDs=1","スリープ中でもopen_transaction_count >= 1のセッションが結果に含まれる","高","トランザクション保持セッションの表示"
"6","UT-BWH-006","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@ShowSleepingSPIDs=2で全てのスリープセッションが表示されること","スリープ中のセッションが存在","@ShowSleepingSPIDs=2","スリープ状態のセッションを含む全てのユーザーセッションが返却される","中","全セッション表示モード"
"7","UT-BWH-007","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@ExpertMode=1で追加の詳細カラムが返却されること","SQL Server接続済み、アクティブなクエリが存在","@ExpertMode=1","fix_parameter_sniffing, client_interface_name, login_time, request_cpu_time等の詳細カラムが結果に含まれる","高","エキスパートモードの詳細情報"
"8","UT-BWH-008","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@Debug=1でSQL文がPRINT出力されること","SQL Server接続済み","@Debug=1","実行されるSQL文（@StringToExecute）がPRINTで出力される","低","デバッグ機能の確認"
"9","UT-BWH-009","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","出力テーブルが指定された場合にテーブルが作成されること","指定データベース・スキーマが存在、出力テーブルは未作成","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='BlitzWhoResults'","出力テーブルが作成され、結果がINSERTされる","高","テーブル出力機能"
"10","UT-BWH-010","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","既存の出力テーブルに結果が追記されること","出力テーブルが既に存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='BlitzWhoResults'","既存テーブルに新しいレコードがINSERTされる","高","テーブルへの追記"
"11","UT-BWH-011","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@OutputTableRetentionDaysで古いデータが削除されること","出力テーブルに4日以上前のデータが存在","@OutputTableRetentionDays=3","CheckDateが3日より前のレコードが削除される","中","データ保持期間の制御"
"12","UT-BWH-012","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinElapsedSecondsで経過時間フィルタが適用されること","様々な実行時間のクエリが存在","@MinElapsedSeconds=10","total_elapsed_timeが10秒以上のクエリのみが返却される","高","経過時間フィルタリング"
"13","UT-BWH-013","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinCPUTimeでCPU時間フィルタが適用されること","様々なCPU時間のクエリが存在","@MinCPUTime=5000","cpu_timeが5000ms以上のクエリのみが返却される","高","CPU時間フィルタリング"
"14","UT-BWH-014","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinLogicalReadsで論理読取りフィルタが適用されること","様々な論理読取り数のクエリが存在","@MinLogicalReads=10000","logical_readsが10000以上のクエリのみが返却される","高","論理読取りフィルタリング"
"15","UT-BWH-015","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinPhysicalReadsで物理読取りフィルタが適用されること","様々な物理読取り数のクエリが存在","@MinPhysicalReads=1000","physical_readsが1000以上のクエリのみが返却される","中","物理読取りフィルタリング"
"16","UT-BWH-016","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinWritesで書込みフィルタが適用されること","様々な書込み数のクエリが存在","@MinWrites=500","writesが500以上のクエリのみが返却される","中","書込みフィルタリング"
"17","UT-BWH-017","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinTempdbMBでtempdb使用量フィルタが適用されること","様々なtempdb使用量のクエリが存在","@MinTempdbMB=100","tempdb_allocations_mbが100MB以上のクエリのみが返却される","中","tempdb使用量フィルタリング"
"18","UT-BWH-018","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinRequestedMemoryKBでメモリ要求フィルタが適用されること","様々なメモリ要求量のクエリが存在","@MinRequestedMemoryKB=10240","requested_memory_kbが10240KB以上のクエリのみが返却される","中","メモリ要求フィルタリング"
"19","UT-BWH-019","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@MinBlockingSecondsでブロッキング時間フィルタが適用されること","ブロッキングが発生中","@MinBlockingSeconds=5","ブロッキング合計時間が5秒以上の場合に全関連クエリが返却される","高","ブロッキングフィルタリング"
"20","UT-BWH-020","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='elapsed time'で経過時間順にソートされること","複数のアクティブクエリが存在","@SortOrder='elapsed time'","結果がelapsed_timeの降順でソートされる","中","ソート順序：経過時間"
"21","UT-BWH-021","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='session_id'でセッションID順にソートされること","複数のアクティブクエリが存在","@SortOrder='session_id'","結果がsession_idの降順でソートされる","中","ソート順序：セッションID"
"22","UT-BWH-022","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='query_cost'でクエリコスト順にソートされること","複数のアクティブクエリが存在","@SortOrder='query_cost'","結果がquery_costの降順でソートされる","中","ソート順序：クエリコスト"
"23","UT-BWH-023","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='database_name'でデータベース名順にソートされること","複数のアクティブクエリが存在","@SortOrder='database_name'","結果がdatabase_nameの昇順でソートされる","低","ソート順序：データベース名"
"24","UT-BWH-024","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='login_name'でログイン名順にソートされること","複数のアクティブクエリが存在","@SortOrder='login_name'","結果がlogin_nameの昇順でソートされる","低","ソート順序：ログイン名"
"25","UT-BWH-025","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@SortOrder='request_cpu_time'でリクエストCPU時間順にソートされること","複数のアクティブクエリが存在","@SortOrder='request_cpu_time'","結果がrequest_cpu_timeの降順でソートされる","低","ソート順序：リクエストCPU時間"
"26","UT-BWH-026","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@GetLiveQueryPlan=1でライブクエリプランが取得されること","SQL Server 2016以降、実行中クエリが存在","@GetLiveQueryPlan=1","live_query_planカラムにXML形式のクエリプランが含まれる","高","ライブクエリプラン取得"
"27","UT-BWH-027","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@GetLiveQueryPlan=0でライブクエリプランが取得されないこと","SQL Server接続済み","@GetLiveQueryPlan=0","live_query_planカラムに「Live Query Plans were not retrieved」メッセージが含まれる","中","ライブクエリプラン無効化"
"28","UT-BWH-028","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@ShowActualParameters=1でライブパラメータ情報が表示されること","SQL Server 2012以降、パラメータ化クエリが実行中","@ShowActualParameters=1, @GetLiveQueryPlan=1","Live_Parameter_Infoカラムに実行時パラメータ値が含まれる","中","ライブパラメータ表示"
"29","UT-BWH-029","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@GetOuterCommand=1で外部コマンドが取得されること","SQL Server接続済み、ストアドプロシージャ内のクエリが実行中","@GetOuterCommand=1","outer_commandカラムに呼び出し元のコマンドが含まれる","中","外部コマンド取得"
"30","UT-BWH-030","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","@CheckDateOverrideで日時が上書きされること","出力テーブルが設定済み","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='Results', @CheckDateOverride='2024-01-01 12:00:00'","CheckDateカラムに指定した日時が設定される","低","日時上書き機能"
"31","UT-BWH-031","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","ブロッキングチェーン情報が正しく取得されること","セッションAがセッションBをブロック中","デフォルト","blocking_session_idにブロック元セッションIDが表示される","高","ブロッキング検出"
"32","UT-BWH-032","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","待機情報が正しく取得されること","待機中のクエリが存在","デフォルト","wait_infoカラムに待機タイプと待機時間が表示される","高","待機情報表示"
"33","UT-BWH-033","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","クエリテキストが正しく抽出されること","複数ステートメントのバッチが実行中","デフォルト","query_textカラムに現在実行中のステートメントのみが抽出される","高","クエリテキスト抽出"
"34","UT-BWH-034","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","クエリプランが取得されること","実行プランが存在するクエリが実行中","デフォルト","query_planカラムにXML形式の実行プランが含まれる","高","クエリプラン取得"
"35","UT-BWH-035","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","tempdb割当量が正しく計算されること","tempdbを使用するクエリが実行中","@ExpertMode=1","tempdb_allocations_mbカラムにMB単位の使用量が表示される","中","tempdb使用量計算"
"36","UT-BWH-036","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","トランザクション分離レベルが正しく表示されること","様々な分離レベルのトランザクションが実行中","@ExpertMode=1","transaction_isolation_levelカラムに適切な分離レベル名が表示される","中","分離レベル表示"
"37","UT-BWH-037","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","暗黙トランザクションが検出されること","暗黙トランザクションモードのセッションが存在","デフォルト","is_implicit_transactionカラムが1で返却される","中","暗黙トランザクション検出"
"38","UT-BWH-038","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","メモリグラント情報が表示されること","メモリグラントを待機中のクエリが存在","@ExpertMode=1","requested_memory_kb, grant_memory_kb等のカラムに値が設定される","中","メモリグラント情報"
"39","UT-BWH-039","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","Resource Governor情報が表示されること","Resource Governorが有効","@ExpertMode=1","workload_group_name, resource_pool_nameカラムに値が設定される","低","Resource Governor情報"
"40","UT-BWH-040","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","SQLジョブ名がprogram_nameに表示されること","SQL Agentジョブが実行中","デフォルト","program_nameカラムにジョブ名が含まれる形式で表示される","中","SQLジョブ名解決"
"41","UT-BWH-041","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","Deltaビューが作成されること","出力テーブルが設定済み、ビューが未作成","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='Results'","BlitzWho_Deltasビューが作成される","中","Deltaビュー作成"
"42","UT-BWH-042","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","セッションウェイト情報が表示されること（SQL Server 2016以降）","SQL Server 2016以降","デフォルト","top_session_waitsカラムにトップ5の待機タイプと時間が表示される","中","セッションウェイト情報"
"43","UT-BWH-043","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","クエリ統計情報（DOP、メモリ）が表示されること（SQL Server 2012以降）","SQL Server 2012 SP3以降","@ExpertMode=1","last_dop, min_dop, max_dop, last_grant_kb等のカラムに値が設定される","中","拡張クエリ統計"
"44","UT-BWH-044","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","キャッシュパラメータ情報が表示されること","パラメータ化クエリが実行中","デフォルト","Cached_Parameter_Infoカラムにコンパイル時パラメータ値が含まれる","中","キャッシュパラメータ情報"
"45","UT-BWH-045","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","fix_parameter_sniffingコマンドが生成されること","実行プランが存在するクエリが実行中","@ExpertMode=1","fix_parameter_sniffingカラムにDBCC FREEPROCCACHEコマンドが含まれる","中","パラメータスニッフィング対策"
"46","UT-BWH-046","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","HADRレプリカのREAD_ONLYデータベースが除外されること","可用性グループのセカンダリレプリカで実行","デフォルト","セカンダリレプリカでREAD_ONLY接続のデータベースは結果から除外される","中","HADRレプリカ対応"
"47","UT-BWH-047","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","Azure SQL Databaseで実行できること","Azure SQL Database環境","デフォルト","結果が返却される（一部機能は制限される場合がある）","高","Azure SQL Database対応"
"48","UT-BWH-048","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","50GB以上のメモリ環境でMAX_GRANT_PERCENTヒントが付与されること","サーバーメモリが50GB以上","デフォルト","実行SQLにMAX_GRANT_PERCENT=1ヒントが含まれる","低","大規模メモリ環境対応"
"49","UT-BWH-049","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","@ShowSleepingSPIDsの境界値0","SQL Server接続済み","@ShowSleepingSPIDs=0","スリープセッションが除外される","高","ShowSleepingSPIDsの最小値"
"50","UT-BWH-050","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","@ShowSleepingSPIDsの境界値2","SQL Server接続済み","@ShowSleepingSPIDs=2","全セッションが表示される","中","ShowSleepingSPIDsの最大値"
"51","UT-BWH-051","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","@MinElapsedSecondsが0の場合","SQL Server接続済み","@MinElapsedSeconds=0","フィルタが適用されず全てのクエリが返却される","高","MinElapsedSecondsの最小値"
"52","UT-BWH-052","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","@OutputTableRetentionDaysの最小値","出力テーブルが存在","@OutputTableRetentionDays=0","当日以外のデータが全て削除される","中","OutputTableRetentionDaysの最小値"
"53","UT-BWH-053","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","@OutputTableRetentionDaysの最大値（TINYINT）","出力テーブルが存在","@OutputTableRetentionDays=255","255日以上前のデータのみ削除される","低","OutputTableRetentionDaysの最大値"
"54","UT-BWH-054","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","実行中クエリが0件の場合","アクティブなクエリが存在しない","デフォルト","空の結果セットが返却される","高","クエリ0件"
"55","UT-BWH-055","sp_BlitzWho.sql","sp_BlitzWho","(main)","境界値","大量のセッションが存在する場合","1000以上のアクティブセッション","デフォルト","全セッションの情報が返却される（パフォーマンス確認）","中","大量セッション"
"56","UT-BWH-056","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","@OutputDatabaseNameに存在しないデータベースが指定された場合","指定データベースが存在しない","@OutputDatabaseName='NonExistentDB', @OutputSchemaName='dbo', @OutputTableName='Results'","テーブル出力処理がスキップされ、通常のSELECT結果が返却される","高","存在しないDB指定"
"57","UT-BWH-057","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","@OutputSchemaNameにNULLが指定された場合","出力テーブル名のみ指定","@OutputTableName='Results', @OutputDatabaseName=NULL, @OutputSchemaName=NULL","Azure SQL DBでは現在のDB/スキーマが使用される、そうでなければ処理スキップ","中","NULL Schema指定"
"58","UT-BWH-058","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","@SortOrderに不正な値が指定された場合","SQL Server接続済み","@SortOrder='invalid_column'","デフォルトのelapsed time順でソートされる","中","不正SortOrder"
"59","UT-BWH-059","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","自身のセッションが結果に含まれないこと","SQL Server接続済み","デフォルト","sp_BlitzWhoを実行しているセッション自体は結果に含まれない（@@SPID除外）","高","自セッション除外"
"60","UT-BWH-060","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","host_nameがNULLのセッションが除外されること","システムセッションが存在","デフォルト","host_nameがNULLのセッションは結果に含まれない","中","システムセッション除外"
"61","UT-BWH-061","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","SQL Server 2008 R2以前で実行された場合","SQL Server 2008 R2環境","デフォルト","一部機能（ライブクエリプラン等）が利用不可、基本機能は動作","中","旧バージョン互換性"
"62","UT-BWH-062","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","@GetLiveQueryPlanで権限エラーが発生する場合","VIEW SERVER STATE権限なし","@GetLiveQueryPlan=1","適切なエラーメッセージまたは権限なしでの処理継続","中","権限エラー対応"
"63","UT-BWH-063","sp_BlitzWho.sql","sp_BlitzWho","(main)","異常系","ロック待機によるタイムアウト","ロック競合が発生中","デフォルト","LOCK_TIMEOUT 1000msでタイムアウトし、取得可能な情報のみ返却","中","ロックタイムアウト対応"
"64","UT-BWH-064","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","出力テーブルにJoinKeyカラムが存在しない場合","古い形式の出力テーブルが存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='OldResults'","JoinKey計算列が自動的に追加される","中","スキーマ自動更新1"
"65","UT-BWH-065","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","出力テーブルにcached_parameter_infoカラムが存在しない場合","古い形式の出力テーブルが存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='OldResults'","cached_parameter_infoカラムが自動的に追加される","中","スキーマ自動更新2"
"66","UT-BWH-066","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","出力テーブルにlive_parameter_infoカラムが存在しない場合","古い形式の出力テーブルが存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='OldResults'","live_parameter_infoカラムが自動的に追加される","中","スキーマ自動更新3"
"67","UT-BWH-067","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","出力テーブルにouter_commandカラムが存在しない場合","古い形式の出力テーブルが存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='OldResults'","outer_commandカラムが自動的に追加される","中","スキーマ自動更新4"
"68","UT-BWH-068","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","出力テーブルにwait_resourceカラムが存在しない場合","古い形式の出力テーブルが存在","@OutputDatabaseName='TestDB', @OutputSchemaName='dbo', @OutputTableName='OldResults'","wait_resourceカラムが自動的に追加される","中","スキーマ自動更新5"
"69","UT-BWH-069","sp_BlitzWho.sql","sp_BlitzWho","(main)","状態","複数フィルタ条件の組み合わせ（OR条件）","様々なワークロードが実行中","@MinElapsedSeconds=10, @MinCPUTime=5000, @MinLogicalReads=10000","いずれかの条件を満たすクエリが返却される（AND条件ではなくOR条件）","高","複合フィルタ条件"
"70","UT-BWH-070","sp_BlitzWho.sql","sp_BlitzWho","(main)","正常系","SQL Server 2022の新機能対応","SQL Server 2022環境","デフォルト","SQL Server 2022固有の機能（利用可能な場合）が正常に動作する","中","SQL Server 2022対応"
"1","UT-DBR-001","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","正常系","@Helpパラメータが1の場合ヘルプメッセージが表示されること","プロシージャが存在","@Help = 1","ヘルプメッセージが出力され、処理が終了する","低","ヘルプ機能の確認"
"2","UT-DBR-002","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","正常系","@VersionCheckModeが1の場合バージョン情報のみ返却されること","プロシージャが存在","@VersionCheckMode = 1","@Versionと@VersionDateが設定され、即座にRETURN","低","バージョンチェック機能"
"3","UT-DBR-003","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","異常系","SQL Server 2008未満の場合エラーが発生すること","SQL Server 2005環境","@Database = 'TestDB'","エラーメッセージ「Sorry, DatabaseRestore doesn't work on versions of SQL prior to 2008.」","高","バージョンチェック"
"4","UT-DBR-004","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","異常系","CommandExecuteプロシージャが存在しない場合エラーが発生すること","CommandExecuteが未インストール","@Database = 'TestDB'","エラーメッセージ「DatabaseRestore requires the CommandExecute stored procedure...」","高","依存関係チェック"
"5","UT-DBR-005","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","異常系","@MaxTransferSizeが4194304を超える場合警告が発生すること","なし","@MaxTransferSize = 5000000","警告メッセージ「@MaxTransferSize can not be greater then 4194304」","中","パラメータ範囲チェック"
"6","UT-DBR-006","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","異常系","@MaxTransferSizeが65536の倍数でない場合警告が発生すること","なし","@MaxTransferSize = 100000","警告メッセージ「@MaxTransferSize has to be a multiple of 65536」","中","パラメータ整合性チェック"
"7","UT-DBR-007","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","異常系","@BlockSizeが無効な値の場合警告が発生すること","なし","@BlockSize = 1000","警告メッセージ「Supported values for @BlockSize are 512, 1024, ...」","中","パラメータ値チェック"
"8","UT-DBR-008","sp_DatabaseRestore.sql","sp_DatabaseRestore","パラメータ検証","正常系","@BlockSizeが有効な値（512, 1024, 2048等）の場合正常に処理されること","なし","@BlockSize = 1024","エラーなしで処理継続","中","有効なBlockSize値"
"9","UT-DBR-009","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@BackupPathFullの末尾にバックスラッシュがない場合自動補完されること","なし","@BackupPathFull = 'D:\Backup\FULL'","@BackupPathFullが'D:\Backup\FULL\'に補正される","中","パス正規化"
"10","UT-DBR-010","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@BackupPathFullの末尾にスラッシュがない場合自動補完されること（URL形式）","なし","@BackupPathFull = '\\\\server/share/FULL'","@BackupPathFullが'\\\\server/share/FULL/'に補正される","中","URLパス正規化"
"11","UT-DBR-011","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@BackupPathDiffの末尾にバックスラッシュがない場合自動補完されること","なし","@BackupPathDiff = 'D:\Backup\DIFF'","@BackupPathDiffが'D:\Backup\DIFF\'に補正される","中","差分パス正規化"
"12","UT-DBR-012","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@BackupPathLogの末尾にバックスラッシュがない場合自動補完されること","なし","@BackupPathLog = 'D:\Backup\LOG'","@BackupPathLogが'D:\Backup\LOG\'に補正される","中","ログパス正規化"
"13","UT-DBR-013","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@MoveDataDriveがNULLの場合デフォルトデータパスが使用されること","なし","@MoveDataDrive = NULL, @MoveFiles = 1","InstanceDefaultDataPathが使用される","中","デフォルトパス設定"
"14","UT-DBR-014","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@MoveLogDriveがNULLの場合デフォルトログパスが使用されること","なし","@MoveLogDrive = NULL, @MoveFiles = 1","InstanceDefaultLogPathが使用される","中","デフォルトログパス設定"
"15","UT-DBR-015","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@MoveFilestreamDriveがNULLの場合デフォルトデータパスが使用されること","なし","@MoveFilestreamDrive = NULL, @MoveFiles = 1","InstanceDefaultDataPathが使用される","低","Filestreamデフォルト"
"16","UT-DBR-016","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@MoveFullTextCatalogDriveがNULLの場合デフォルトデータパスが使用されること","なし","@MoveFullTextCatalogDrive = NULL, @MoveFiles = 1","InstanceDefaultDataPathが使用される","低","FullTextカタログデフォルト"
"17","UT-DBR-017","sp_DatabaseRestore.sql","sp_DatabaseRestore","パス補正","正常系","@FileExtensionDiffにドットが含まれる場合削除されること","なし","@FileExtensionDiff = '.dif'","@FileExtensionDiffが'dif'に補正される","中","拡張子正規化"
"18","UT-DBR-018","sp_DatabaseRestore.sql","sp_DatabaseRestore","データベース名処理","正常系","@RestoreDatabaseNameがNULLの場合@Databaseが使用されること","なし","@Database = 'TestDB', @RestoreDatabaseName = NULL","@RestoreDatabaseNameが'TestDB'に設定される","高","デフォルト復元先"
"19","UT-DBR-019","sp_DatabaseRestore.sql","sp_DatabaseRestore","データベース名処理","正常系","@RestoreDatabaseNameが空文字の場合@Databaseが使用されること","なし","@Database = 'TestDB', @RestoreDatabaseName = ''","@RestoreDatabaseNameが'TestDB'に設定される","中","空文字処理"
"20","UT-DBR-020","sp_DatabaseRestore.sql","sp_DatabaseRestore","データベース名処理","正常系","@RestoreDatabaseNameが指定された場合その名前で復元されること","なし","@Database = 'SourceDB', @RestoreDatabaseName = 'TargetDB'","データベースがTargetDBとして復元される","高","別名復元"
"21","UT-DBR-021","sp_DatabaseRestore.sql","sp_DatabaseRestore","フォルダ列挙","正常系","xp_cmdshellが無効な場合xp_dirtreeが使用されること","xp_cmdshell無効","@SimpleFolderEnumeration = 0","@SimpleFolderEnumerationが1に設定される","中","フォールバック機能"
"22","UT-DBR-022","sp_DatabaseRestore.sql","sp_DatabaseRestore","フォルダ列挙","正常系","@SimpleFolderEnumeration=1の場合xp_dirtreeでファイル列挙されること","なし","@SimpleFolderEnumeration = 1","xp_dirtreeを使用してバックアップファイルが列挙される","中","ディレクトリ列挙方式"
"23","UT-DBR-023","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","フルバックアップパスが存在しない場合エラーが発生すること","なし","@BackupPathFull = 'D:\NonExistent\'","エラーメッセージ「(FULL) No rows or bad value for path」","高","パス存在確認"
"24","UT-DBR-024","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","フルバックアップパスへのアクセスが拒否された場合エラーが発生すること","権限なし","@BackupPathFull = 'D:\Restricted\'","エラーメッセージ「(FULL) Access is denied to」","高","アクセス権チェック"
"25","UT-DBR-025","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","フルバックアップディレクトリが空の場合エラーが発生すること","空ディレクトリ","@BackupPathFull = 'D:\Empty\'","エラーメッセージ「(FULL) Empty directory」","中","空ディレクトリチェック"
"26","UT-DBR-026","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","認証エラーの場合エラーが発生すること","ネットワークパス","@BackupPathFull = '\\\\server\share\'","エラーメッセージ「(FULL) Incorrect user name or password」","高","認証エラーチェック"
"27","UT-DBR-027","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","指定データベースのバックアップが見つからない場合エラーが発生すること","バックアップなし","@Database = 'NonExistentDB', @BackupPathFull = 'D:\Backup\'","エラーメッセージ「No backups for ""NonExistentDB"" found in」","高","バックアップ不在"
"28","UT-DBR-028","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","異常系","バックアップファイルがデータベース名と一致しない場合エラーが発生すること","ファイル名不一致","@Database = 'TestDB'（異なるDBのバックアップ）","エラーメッセージ「Backupfile does not match @Database parameter」","高","ファイル整合性チェック"
"29","UT-DBR-029","sp_DatabaseRestore.sql","sp_DatabaseRestore","バックアップファイル検索","正常系","カンマ区切りの複数パスからファイルが検索されること","複数パス存在","@BackupPathFull = 'D:\Backup1\,D:\Backup2\'","両方のパスからバックアップファイルが検索される","中","分散バックアップ対応"
"30","UT-DBR-030","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","フルバックアップが正常に復元されること","バックアップファイル存在","@Database = 'TestDB', @BackupPathFull = 'D:\Backup\FULL\', @ContinueLogs = 0","RESTORE DATABASE文が実行される","高","基本復元機能"
"31","UT-DBR-031","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","分割バックアップが正常に復元されること","複数の分割ファイル存在","@Database = 'TestDB'（_1.bak, _2.bak形式）","複数DISKを指定したRESTORE DATABASE文が実行される","高","ストライプバックアップ対応"
"32","UT-DBR-032","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","@MoveFiles=1の場合MOVEオプションが生成されること","なし","@MoveFiles = 1, @MoveDataDrive = 'E:\Data\'","RESTORE文にMOVEオプションが含まれる","高","ファイル移動"
"33","UT-DBR-033","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","@StandbyMode=1かつ@StandbyUndoPath指定時STANDBYオプションが生成されること","なし","@StandbyMode = 1, @StandbyUndoPath = 'D:\Standby\'","RESTORE文にSTANDBYオプションが含まれる","中","スタンバイモード"
"34","UT-DBR-034","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","@StandbyMode=1で@StandbyUndoPathがNULLの場合警告が表示されること","なし","@StandbyMode = 1, @StandbyUndoPath = NULL","警告メッセージ「The file path of the undo file for standby mode was not specified」","中","スタンバイパス未指定警告"
"35","UT-DBR-035","sp_DatabaseRestore.sql","sp_DatabaseRestore","フル復元","正常系","@BufferCountが指定された場合バックアップパラメータに含まれること","なし","@BufferCount = 50","RESTORE文にBufferCount=50が含まれる","低","バッファカウント指定"
"36","UT-DBR-036","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","@ExistingDBAction=1の場合SINGLE_USERが設定されること","既存DB存在","@ExistingDBAction = 1","ALTER DATABASE SET SINGLE_USER文が実行される","高","シングルユーザーモード"
"37","UT-DBR-037","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","@ExistingDBAction=2の場合接続がKILLされること","既存DB存在、接続あり","@ExistingDBAction = 2","KILL文が実行される","高","接続強制切断"
"38","UT-DBR-038","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","@ExistingDBAction=3の場合データベースがDROPされること","既存DB存在","@ExistingDBAction = 3","DROP DATABASE文が実行される","高","データベース削除"
"39","UT-DBR-039","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","@ExistingDBAction=4の場合データベースがOFFLINEにされること","既存DB存在","@ExistingDBAction = 4","ALTER DATABASE SET OFFLINE文が実行される","中","オフライン設定"
"40","UT-DBR-040","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","復元対象DBが存在しない場合@ExistingDBAction>0でも警告のみ出力されること","既存DBなし","@ExistingDBAction = 1, @RestoreDatabaseName = 'NewDB'","警告メッセージ「@ExistingDBAction > 0, but no existing @RestoreDatabaseName」","中","存在しないDB処理"
"41","UT-DBR-041","sp_DatabaseRestore.sql","sp_DatabaseRestore","既存DB処理","正常系","データベースがRESTORING状態の場合SINGLE_USERをスキップすること","DB状態=RESTORING","@ExistingDBAction = 1","SINGLE_USER設定がスキップされる","中","RESTORING状態処理"
"42","UT-DBR-042","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","正常系","差分バックアップが正常に復元されること","差分バックアップ存在","@RestoreDiff = 1, @BackupPathDiff = 'D:\Backup\DIFF\'","RESTORE DATABASE文（差分）が実行される","高","差分復元機能"
"43","UT-DBR-043","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","正常系","@FileExtensionDiffがNULLの場合'bak'が使用されること","なし","@FileExtensionDiff = NULL, @RestoreDiff = 1","拡張子'.bak'で差分ファイルが検索される","中","デフォルト拡張子"
"44","UT-DBR-044","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","正常系","差分バックアップのカスタム拡張子が正しく処理されること","なし","@FileExtensionDiff = 'dif', @RestoreDiff = 1","拡張子'.dif'で差分ファイルが検索される","中","カスタム拡張子"
"45","UT-DBR-045","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","異常系","差分パスが存在しない場合エラーが発生すること","なし","@BackupPathDiff = 'D:\NonExistent\'","エラーメッセージ「(DIFF) Bad value for path」","高","差分パス確認"
"46","UT-DBR-046","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","異常系","差分パスへのアクセス拒否でエラーが発生すること","権限なし","@BackupPathDiff = 'D:\Restricted\'","エラーメッセージ「(DIFF) Access is denied to」","高","差分アクセス権"
"47","UT-DBR-047","sp_DatabaseRestore.sql","sp_DatabaseRestore","差分復元","正常系","差分がフルより古い場合差分復元がスキップされること","差分が古い","@RestoreDiff = 1（差分がフルより古い）","差分復元がスキップされ、@DiffLastLSN=@FullLastLSNとなる","中","LSN比較ロジック"
"48","UT-DBR-048","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","ログバックアップが正常に復元されること","ログバックアップ存在","@BackupPathLog = 'D:\Backup\LOG\'","RESTORE LOG文が実行される","高","ログ復元機能"
"49","UT-DBR-049","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","@ContinueLogs=1の場合既存DBのLSNから継続復元されること","DBがRESTORING状態","@ContinueLogs = 1","redo_start_lsnから適用可能なログが復元される","高","ログ継続復元"
"50","UT-DBR-050","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","@StopAt指定時にSTOPATオプションが生成されること","なし","@StopAt = '20231215120000'","RESTORE LOG文にSTOPATオプションが含まれる","高","ポイントインタイム復旧"
"51","UT-DBR-051","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","異常系","@StopAtが14桁でない場合エラーが発生すること","なし","@StopAt = '2023121512'","エラーメッセージ「@StopAt parameter is incorrect. It should contain exactly 14 digits」","高","StopAtフォーマット検証"
"52","UT-DBR-052","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","異常系","@StopAtが無効な日時の場合エラーが発生すること","なし","@StopAt = '20231340120000'","エラーメッセージ「@StopAt is not a valid datetime」","高","StopAt日時検証"
"53","UT-DBR-053","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","@OnlyLogsAfter指定時にその日時以前のログがスキップされること","なし","@OnlyLogsAfter = '20231201000000'","指定日時以前のログファイルが削除される","中","ログフィルタリング"
"54","UT-DBR-054","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","@SkipBackupsAlreadyInMsdb=1の場合復元済みログがスキップされること","msdbに復元履歴あり","@SkipBackupsAlreadyInMsdb = 1","msdb.restorehistoryにあるファイルがスキップされる","中","復元済みスキップ"
"55","UT-DBR-055","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","異常系","ログパスが存在しない場合エラーが発生すること","なし","@BackupPathLog = 'D:\NonExistent\'","エラーメッセージ「(LOG) No rows or bad value for path」","高","ログパス確認"
"56","UT-DBR-056","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","異常系","ログディレクトリが空の場合エラーが発生すること","空ディレクトリ","@BackupPathLog = 'D:\Empty\'","エラーメッセージ「(LOG) Empty directory」","中","ログ空ディレクトリ"
"57","UT-DBR-057","sp_DatabaseRestore.sql","sp_DatabaseRestore","ログ復元","正常系","分割ログバックアップが正常に復元されること","複数分割ファイル","@BackupPathLog = 'D:\Backup\LOG\'（_1.trn, _2.trn形式）","複数DISKを指定したRESTORE LOG文が実行される","中","ストライプログ対応"
"58","UT-DBR-058","sp_DatabaseRestore.sql","sp_DatabaseRestore","復旧処理","正常系","@RunRecovery=1の場合RECOVERYオプションで復旧されること","復元完了","@RunRecovery = 1","RESTORE DATABASE WITH RECOVERY文が実行される","高","データベース復旧"
"59","UT-DBR-059","sp_DatabaseRestore.sql","sp_DatabaseRestore","復旧処理","正常系","@KeepCdc=1の場合KEEP_CDCオプションが追加されること","CDC有効DB","@RunRecovery = 1, @KeepCdc = 1","RESTORE文にKEEP_CDCオプションが含まれる","中","CDC保持"
"60","UT-DBR-060","sp_DatabaseRestore.sql","sp_DatabaseRestore","復旧処理","正常系","@EnableBroker=1の場合ENABLE_BROKERオプションが追加されること","Service Broker有効","@RunRecovery = 1, @EnableBroker = 1","RESTORE文にENABLE_BROKERオプションが含まれる","中","Broker有効化"
"61","UT-DBR-061","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@ForceSimpleRecovery=1の場合SIMPLE復旧モデルに変更されること","復旧完了","@ForceSimpleRecovery = 1","ALTER DATABASE SET RECOVERY SIMPLE文が実行される","中","復旧モデル変更"
"62","UT-DBR-062","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@RunCheckDB=1の場合DBCC CHECKDBが実行されること","復旧完了","@RunCheckDB = 1","DBCC CHECKDB文が実行される","高","整合性チェック"
"63","UT-DBR-063","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@DatabaseOwner指定時にオーナーが変更されること","復旧完了、ログイン存在","@DatabaseOwner = 'sa', @RunRecovery = 1","ALTER AUTHORIZATION文が実行される","中","オーナー変更"
"64","UT-DBR-064","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","異常系","@DatabaseOwnerが無効なログインの場合警告が出力されること","ログイン存在しない","@DatabaseOwner = 'InvalidLogin'","警告メッセージ「is not a valid Login. Database Owner not set.」","中","無効オーナー処理"
"65","UT-DBR-065","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@RunRecovery=0の場合オーナー変更がスキップされること","RESTORING状態","@DatabaseOwner = 'sa', @RunRecovery = 0","警告メッセージ「is still in Recovery, so we are unable to change」","中","復旧前オーナー変更"
"66","UT-DBR-066","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@SetTrustworthyON=1でsysadminの場合TRUSTWORTHYが有効化されること","sysadmin権限あり","@SetTrustworthyON = 1, @RunRecovery = 1","ALTER DATABASE SET TRUSTWORTHY ON文が実行される","中","TRUSTWORTHY有効化"
"67","UT-DBR-067","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@SetTrustworthyON=1で非sysadminの場合警告が出力されること","sysadmin権限なし","@SetTrustworthyON = 1","警告メッセージ「Current user's login is NOT a member of the sysadmin role」","中","権限不足警告"
"68","UT-DBR-068","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@SetTrustworthyON=1で@RunRecovery=0の場合警告が出力されること","RESTORING状態","@SetTrustworthyON = 1, @RunRecovery = 0","警告メッセージ「is still in Recovery, so we are unable to enable the TRUSTWORTHY bit」","中","復旧前TRUSTWORTHY"
"69","UT-DBR-069","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@FixOrphanUsers=1の場合孤立ユーザーが修正されること","孤立ユーザー存在","@FixOrphanUsers = 1, @RunRecovery = 1","ALTER USER WITH LOGIN文が実行される","中","孤立ユーザー修正"
"70","UT-DBR-070","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","孤立ユーザーがいない場合メッセージが出力されること","孤立ユーザーなし","@FixOrphanUsers = 1","メッセージ「No orphan users require a sid fixup」","低","孤立ユーザーなし"
"71","UT-DBR-071","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@RunStoredProcAfterRestore指定時にプロシージャが実行されること","復旧完了","@RunStoredProcAfterRestore = 'dbo.AfterRestoreProc', @RunRecovery = 1","EXEC文が実行される","中","復元後プロシージャ実行"
"72","UT-DBR-072","sp_DatabaseRestore.sql","sp_DatabaseRestore","後処理","正常系","@RunRecovery=0の場合復元後プロシージャ実行がスキップされること","RESTORING状態","@RunStoredProcAfterRestore = 'dbo.AfterRestoreProc', @RunRecovery = 0","警告メッセージ「Unable to run Run Stored Procedure After Restore as database is not recovered」","中","復旧前プロシージャ"
"73","UT-DBR-073","sp_DatabaseRestore.sql","sp_DatabaseRestore","テスト復元","正常系","@TestRestore=1の場合復元後にデータベースが削除されること","復元完了","@TestRestore = 1","DROP DATABASE文が実行される","高","テスト復元後削除"
"74","UT-DBR-074","sp_DatabaseRestore.sql","sp_DatabaseRestore","実行制御","正常系","@Execute='N'の場合コマンドが印刷されるのみで実行されないこと","なし","@Execute = 'N'","コマンドがPRINTされるが実行されない","高","実行なしモード"
"75","UT-DBR-075","sp_DatabaseRestore.sql","sp_DatabaseRestore","実行制御","正常系","@Debug=1の場合詳細情報が出力されること","なし","@Debug = 1","一時テーブル内容とSQL文がPRINTされる","中","デバッグモード"
"76","UT-DBR-076","sp_DatabaseRestore.sql","sp_DatabaseRestore","バージョン対応","正常系","SQL Server 2012以上でContainmentカラムが処理されること","SQL Server 2012+","@MajorVersion >= 11","RESTORE HEADERONLYにContainmentが含まれる","低","2012互換性"
"77","UT-DBR-077","sp_DatabaseRestore.sql","sp_DatabaseRestore","バージョン対応","正常系","SQL Server 2014 CU1以上で暗号化カラムが処理されること","SQL Server 2014 CU1+","@MajorVersion >= 13 OR (@MajorVersion = 12 AND @BuildVersion >= 2342)","KeyAlgorithm, EncryptorThumbprint等が含まれる","低","暗号化バックアップ対応"
"78","UT-DBR-078","sp_DatabaseRestore.sql","sp_DatabaseRestore","バージョン対応","正常系","SQL Server 2022以上で新カラムが処理されること","SQL Server 2022+","@MajorVersion >= 16","LastValidRestoreTime, TimeZone, CompressionAlgorithmが含まれる","低","2022互換性"
"79","UT-DBR-079","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","データファイルが@MoveDataDriveに移動されること","なし","@MoveFiles = 1, @MoveDataDrive = 'E:\Data\'","MOVE句でデータファイルがE:\Data\に移動される","高","データファイル移動"
"80","UT-DBR-080","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","ログファイルが@MoveLogDriveに移動されること","なし","@MoveFiles = 1, @MoveLogDrive = 'F:\Log\'","MOVE句でログファイルがF:\Log\に移動される","高","ログファイル移動"
"81","UT-DBR-081","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","Filestreamが@MoveFilestreamDriveに移動されること","Filestream使用","@MoveFiles = 1, @MoveFilestreamDrive = 'G:\Filestream\'","MOVE句でFilestreamがG:\Filestream\に移動される","低","Filestream移動"
"82","UT-DBR-082","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","FullTextカタログが@MoveFullTextCatalogDriveに移動されること","FullText使用","@MoveFiles = 1, @MoveFullTextCatalogDrive = 'H:\FullText\'","MOVE句でFullTextカタログがH:\FullText\に移動される","低","FullText移動"
"83","UT-DBR-083","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","@FileNamePrefix指定時にファイル名にプレフィックスが付与されること","なし","@FileNamePrefix = 'Restored_', @MoveFiles = 1","ファイル名がRestored_で始まる","低","ファイル名プレフィックス"
"84","UT-DBR-084","sp_DatabaseRestore.sql","sp_DatabaseRestore","ファイル移動","正常系","別名復元時にファイル名のDB名部分が置換されること","なし","@Database = 'SourceDB', @RestoreDatabaseName = 'TargetDB', @MoveFiles = 1","ファイル名のSourceDBがTargetDBに置換される","中","別名復元ファイル名"
"85","UT-DBR-085","sp_DatabaseRestore.sql","sp_DatabaseRestore","境界値","境界値","@BackupPathFullが空文字でログ継続の場合DatabaseLastLSNが取得されること","@ContinueLogs = 1","@BackupPathFull = NULL, @ContinueLogs = 1, @BackupPathLog = 'D:\LOG\'","master.sys.master_filesからredo_start_lsnが取得される","中","フルパスなしログ継続"
"86","UT-DBR-086","sp_DatabaseRestore.sql","sp_DatabaseRestore","境界値","境界値","@StopAtがフルバックアップ終了時刻と同じ場合ログ復元がスキップされること","なし","@StopAt = フルバックアップ終了時刻","メッセージ「@StopAt is the end time of a FULL backup, no log files will be restored」","中","StopAt=フル終了時刻"
"87","UT-DBR-087","sp_DatabaseRestore.sql","sp_DatabaseRestore","複合シナリオ","正常系","フル+差分+ログの完全復元シナリオが正常に動作すること","全バックアップ存在","@BackupPathFull, @BackupPathDiff, @BackupPathLog全て指定, @RestoreDiff = 1, @RunRecovery = 1","フル、差分、ログの順で復元され、RECOVERYが実行される","高","完全復元フロー"
"88","UT-DBR-088","sp_DatabaseRestore.sql","sp_DatabaseRestore","複合シナリオ","正常系","フル+ログのみの復元シナリオが正常に動作すること","フルとログのみ存在","@BackupPathFull, @BackupPathLog指定, @RestoreDiff = 0, @RunRecovery = 1","フル、ログの順で復元され、RECOVERYが実行される","高","フル+ログ復元"
"89","UT-DBR-089","sp_DatabaseRestore.sql","sp_DatabaseRestore","複合シナリオ","正常系","TestRestore+RunCheckDBの組み合わせが正常に動作すること","バックアップ存在","@TestRestore = 1, @RunCheckDB = 1, @RunRecovery = 1","復元、CHECKDB実行、DROP DATABASEの順で実行される","高","テスト復元+整合性チェック"
"90","UT-DBR-090","sp_DatabaseRestore.sql","sp_DatabaseRestore","複合シナリオ","正常系","ネットワークパスからの復元が正常に動作すること","UNCパスアクセス可能","@BackupPathFull = '\\\\Server\Share\FULL\'","UNCパスからバックアップファイルが検索・復元される","中","ネットワーク復元"
"1","UT-IED-001","sp_ineachdb.sql","sp_ineachdb","@Help","正常系","ヘルプ表示が正常に動作すること","プロシージャがインストール済み","@Help=1","ヘルプメッセージが出力され、-1が返却される","中","Help機能の基本動作確認"
"2","UT-IED-002","sp_ineachdb.sql","sp_ineachdb","@VersionCheckMode","正常系","バージョンチェックモードで即座に終了すること","プロシージャがインストール済み","@VersionCheckMode=1","処理が即座に終了し、@Version, @VersionDateが設定される","中","バージョン確認機能"
"3","UT-IED-003","sp_ineachdb.sql","sp_ineachdb","@Version/@VersionDate","正常系","バージョン情報が正しく返却されること","プロシージャがインストール済み","@Version=NULL OUTPUT, @VersionDate=NULL OUTPUT","@Version='8.29', @VersionDate='20260203'が設定される","低","OUTPUT パラメータ確認"
"4","UT-IED-004","sp_ineachdb.sql","sp_ineachdb","@command","正常系","基本的なコマンドが全データベースで実行されること","複数のユーザーデータベースが存在","@command=N'SELECT DB_NAME()'","各データベースでコマンドが実行され結果が返却される","高","基本機能の動作確認"
"5","UT-IED-005","sp_ineachdb.sql","sp_ineachdb","@command","異常系","NULLコマンドが渡された場合の挙動","プロシージャがインストール済み","@command=NULL","エラーまたは空の結果（データベースに対して何も実行されない）","中","NULLハンドリング"
"6","UT-IED-006","sp_ineachdb.sql","sp_ineachdb","@command","異常系","空文字列コマンドが渡された場合の挙動","プロシージャがインストール済み","@command=N''","エラーまたは空の結果","中","空文字列ハンドリング"
"7","UT-IED-007","sp_ineachdb.sql","sp_ineachdb","@command","異常系","構文エラーを含むコマンドの実行","プロシージャがインストール済み","@command=N'SELEC * FRM invalid'","RAISERRORでエラーメッセージが出力され、次のDBへ処理継続","高","エラーハンドリング確認"
"8","UT-IED-008","sp_ineachdb.sql","sp_ineachdb","@replace_character","正常系","置換文字でデータベース名が正しく置換されること","複数データベースが存在","@command=N'SELECT ''?'' AS DbName', @replace_character=N'?'","?がデータベース名に置換される","高","置換文字機能の基本動作"
"9","UT-IED-009","sp_ineachdb.sql","sp_ineachdb","@replace_character","正常系","カスタム置換文字が正しく動作すること","複数データベースが存在","@command=N'SELECT ''#'' AS DbName', @replace_character=N'#'","#がデータベース名に置換される","中","カスタム置換文字"
"10","UT-IED-010","sp_ineachdb.sql","sp_ineachdb","@replace_character","境界値","コマンド内に置換文字が存在しない場合","複数データベースが存在","@command=N'SELECT 1', @replace_character=N'?'","コマンドがそのまま実行される","低","置換不要ケース"
"11","UT-IED-011","sp_ineachdb.sql","sp_ineachdb","@print_dbname","正常系","データベース名が出力されること","複数データベースが存在","@command=N'SELECT 1', @print_dbname=1","各DBの処理前に/* [DatabaseName] */形式でDB名が出力される","中","デバッグ・確認用機能"
"12","UT-IED-012","sp_ineachdb.sql","sp_ineachdb","@select_dbname","正常系","データベース名がSELECT結果として返却されること","複数データベースが存在","@command=N'SELECT 1', @select_dbname=1","各DBで[ineachdb current database]列にDB名が返却される","中","結果セットでのDB名確認"
"13","UT-IED-013","sp_ineachdb.sql","sp_ineachdb","@print_command","正常系","実行コマンドが出力されること","複数データベースが存在","@command=N'SELECT 1', @print_command=1","各DBの実行前にコマンド内容が出力される","中","デバッグ用コマンド表示"
"14","UT-IED-014","sp_ineachdb.sql","sp_ineachdb","@print_command_only","正常系","コマンドが出力のみで実行されないこと","複数データベースが存在","@command=N'SELECT 1', @print_command_only=1","コマンドが出力されるが実際には実行されない","高","ドライラン機能"
"15","UT-IED-015","sp_ineachdb.sql","sp_ineachdb","@suppress_quotename","正常系","QUOTENAME抑制でDB名がそのまま使用されること","複数データベースが存在","@command=N'SELECT ''?''', @suppress_quotename=1","DB名が[]なしで置換される","中","特殊なDB名ハンドリング"
"16","UT-IED-016","sp_ineachdb.sql","sp_ineachdb","@suppress_quotename","異常系","特殊文字を含むDB名でQUOTENAME抑制時の挙動","特殊文字を含むDB名が存在","@command=N'USE ?', @suppress_quotename=1","SQLインジェクションリスクがあるため注意が必要","高","セキュリティ考慮"
"17","UT-IED-017","sp_ineachdb.sql","sp_ineachdb","@system_only","正常系","システムDBのみが対象となること","システムDBとユーザーDBが存在","@command=N'SELECT DB_NAME()', @system_only=1","master, model, msdb, tempdb, distributorのみ処理される","高","フィルタリング機能"
"18","UT-IED-018","sp_ineachdb.sql","sp_ineachdb","@user_only","正常系","ユーザーDBのみが対象となること","システムDBとユーザーDBが存在","@command=N'SELECT DB_NAME()', @user_only=1","ユーザーDBのみ処理される（system DB除外）","高","フィルタリング機能"
"19","UT-IED-019","sp_ineachdb.sql","sp_ineachdb","@system_only/@user_only","異常系","両方1が指定された場合の挙動","システムDBとユーザーDBが存在","@system_only=1, @user_only=1","処理対象DBが0件となりエラー","中","矛盾するパラメータ"
"20","UT-IED-020","sp_ineachdb.sql","sp_ineachdb","@name_pattern","正常系","パターンに一致するDBのみ処理されること","Test%, Prod%などのDBが存在","@command=N'SELECT DB_NAME()', @name_pattern=N'Test%'","Test%に一致するDBのみ処理される","高","名前パターンフィルタ"
"21","UT-IED-021","sp_ineachdb.sql","sp_ineachdb","@name_pattern","境界値","パターンが%（デフォルト）の場合","複数DBが存在","@command=N'SELECT 1', @name_pattern=N'%'","全DBが対象となる","低","デフォルト動作確認"
"22","UT-IED-022","sp_ineachdb.sql","sp_ineachdb","@name_pattern","異常系","一致するDBが存在しないパターン","複数DBが存在","@command=N'SELECT 1', @name_pattern=N'NonExistent%'","'No databases to process.'エラー","中","該当なしケース"
"23","UT-IED-023","sp_ineachdb.sql","sp_ineachdb","@database_list","正常系","指定したDBリストのみ処理されること","master, tempdb, userdbが存在","@command=N'SELECT DB_NAME()', @database_list=N'master,tempdb'","master, tempdbのみ処理される","高","明示的DB指定"
"24","UT-IED-024","sp_ineachdb.sql","sp_ineachdb","@database_list","正常系","角括弧付きDB名が正しく解析されること","[My Database]が存在","@command=N'SELECT DB_NAME()', @database_list=N'[My Database]'","角括弧内のDB名が正しく認識される","高","特殊文字対応"
"25","UT-IED-025","sp_ineachdb.sql","sp_ineachdb","@database_list","境界値","1件のみ指定した場合","指定DBが存在","@command=N'SELECT 1', @database_list=N'master'","masterのみ処理される","中","単一DB指定"
"26","UT-IED-026","sp_ineachdb.sql","sp_ineachdb","@database_list","異常系","存在しないDB名を含むリスト","一部DBが存在しない","@command=N'SELECT 1', @database_list=N'master,NonExistentDB'","存在するDBのみ処理される","中","部分一致ケース"
"27","UT-IED-027","sp_ineachdb.sql","sp_ineachdb","@exclude_pattern","正常系","パターンに一致するDBが除外されること","Test%, Prod%などのDBが存在","@command=N'SELECT DB_NAME()', @exclude_pattern=N'Test%'","Test%に一致するDBが除外される","高","除外パターンフィルタ"
"28","UT-IED-028","sp_ineachdb.sql","sp_ineachdb","@exclude_list","正常系","指定したDBリストが除外されること","master, tempdb, userdbが存在","@command=N'SELECT DB_NAME()', @exclude_list=N'master,tempdb'","master, tempdb以外が処理される","高","明示的DB除外"
"29","UT-IED-029","sp_ineachdb.sql","sp_ineachdb","@database_list/@exclude_list","正常系","includeとexcludeの組み合わせ","複数DBが存在","@database_list=N'master,tempdb,msdb', @exclude_list=N'tempdb'","master, msdbのみ処理（excludeが優先）","高","フィルタ優先順位"
"30","UT-IED-030","sp_ineachdb.sql","sp_ineachdb","@recovery_model_desc","正常系","指定した復旧モデルのDBのみ処理されること","FULL, SIMPLEの両方のDBが存在","@command=N'SELECT DB_NAME()', @recovery_model_desc=N'FULL'","FULLリカバリモデルのDBのみ処理","中","復旧モデルフィルタ"
"31","UT-IED-031","sp_ineachdb.sql","sp_ineachdb","@recovery_model_desc","境界値","無効な復旧モデル名が指定された場合","複数DBが存在","@recovery_model_desc=N'INVALID'","対象DBが0件となりエラー","低","無効値ハンドリング"
"32","UT-IED-032","sp_ineachdb.sql","sp_ineachdb","@compatibility_level","正常系","指定した互換性レベルのDBのみ処理されること","異なる互換性レベルのDBが存在","@command=N'SELECT DB_NAME()', @compatibility_level=150","互換性レベル150のDBのみ処理","中","互換性レベルフィルタ"
"33","UT-IED-033","sp_ineachdb.sql","sp_ineachdb","@state_desc","正常系","ONLINE状態のDBのみ処理されること（デフォルト）","ONLINE, OFFLINEのDBが存在","@command=N'SELECT 1', @state_desc=N'ONLINE'","ONLINEのDBのみ処理される","高","状態フィルタ"
"34","UT-IED-034","sp_ineachdb.sql","sp_ineachdb","@state_desc","正常系","OFFLINE状態のDBを対象にできること","OFFLINEのDBが存在","@command=N'SELECT 1', @state_desc=N'OFFLINE'","OFFLINEのDBが処理対象となる","中","非ONLINE状態対応"
"35","UT-IED-035","sp_ineachdb.sql","sp_ineachdb","@is_read_only","正常系","読み取り専用DBのみ処理されること","読み取り専用と読み書きDBが存在","@command=N'SELECT DB_NAME()', @is_read_only=1","読み取り専用DBのみ処理","中","読み取り専用フィルタ"
"36","UT-IED-036","sp_ineachdb.sql","sp_ineachdb","@is_auto_close_on","正常系","AUTO_CLOSEが有効なDBのみ処理されること","AUTO_CLOSE ON/OFFのDBが存在","@command=N'SELECT DB_NAME()', @is_auto_close_on=1","AUTO_CLOSE有効DBのみ処理","低","AUTO_CLOSEフィルタ"
"37","UT-IED-037","sp_ineachdb.sql","sp_ineachdb","@is_auto_shrink_on","正常系","AUTO_SHRINKが有効なDBのみ処理されること","AUTO_SHRINK ON/OFFのDBが存在","@command=N'SELECT DB_NAME()', @is_auto_shrink_on=1","AUTO_SHRINK有効DBのみ処理","低","AUTO_SHRINKフィルタ"
"38","UT-IED-038","sp_ineachdb.sql","sp_ineachdb","@is_broker_enabled","正常系","Service Brokerが有効なDBのみ処理されること","Broker ON/OFFのDBが存在","@command=N'SELECT DB_NAME()', @is_broker_enabled=1","Service Broker有効DBのみ処理","低","Service Brokerフィルタ"
"39","UT-IED-039","sp_ineachdb.sql","sp_ineachdb","@user_access","正常系","MULTI_USERのDBのみ処理されること","MULTI_USER, SINGLE_USERのDBが存在","@command=N'SELECT DB_NAME()', @user_access=N'MULTI_USER'","MULTI_USERのDBのみ処理","中","ユーザーアクセスフィルタ"
"40","UT-IED-040","sp_ineachdb.sql","sp_ineachdb","@user_access","正常系","SINGLE_USERのDBのみ処理されること","SINGLE_USERのDBが存在","@command=N'SELECT DB_NAME()', @user_access=N'SINGLE_USER'","SINGLE_USERのDBのみ処理","中","SINGLE_USERフィルタ"
"41","UT-IED-041","sp_ineachdb.sql","sp_ineachdb","@user_access","正常系","RESTRICTED_USERのDBのみ処理されること","RESTRICTED_USERのDBが存在","@command=N'SELECT DB_NAME()', @user_access=N'RESTRICTED_USER'","RESTRICTED_USERのDBのみ処理","中","RESTRICTED_USERフィルタ"
"42","UT-IED-042","sp_ineachdb.sql","sp_ineachdb","@user_access","異常系","無効なuser_access値が指定された場合","複数DBが存在","@user_access=N'INVALID_ACCESS'","フィルタが適用されず全DB処理または0件","低","無効値ハンドリング"
"43","UT-IED-043","sp_ineachdb.sql","sp_ineachdb","@is_ag_writeable_copy","正常系","AG書き込み可能コピーのみ処理されること","AG構成の環境","@command=N'SELECT DB_NAME()', @is_ag_writeable_copy=1","プライマリレプリカのDBのみ処理","高","AG対応フィルタ"
"44","UT-IED-044","sp_ineachdb.sql","sp_ineachdb","@is_ag_writeable_copy","正常系","非AG環境での動作","AG未構成の環境","@command=N'SELECT 1', @is_ag_writeable_copy=1","全対象DBが処理される（AG関連フィルタは影響なし）","中","非AG環境対応"
"45","UT-IED-045","sp_ineachdb.sql","sp_ineachdb","@is_query_store_on","正常系","Query Storeが有効なDBのみ処理されること","SQL Server 2016以降、QS ON/OFFのDBが存在","@command=N'SELECT DB_NAME()', @is_query_store_on=1","Query Store有効DBのみ処理","中","Query Storeフィルタ"
"46","UT-IED-046","sp_ineachdb.sql","sp_ineachdb","@is_query_store_on","正常系","Query Storeが無効なDBのみ処理されること","SQL Server 2016以降","@command=N'SELECT DB_NAME()', @is_query_store_on=0","Query Store無効DBのみ処理","中","Query Store無効フィルタ"
"47","UT-IED-047","sp_ineachdb.sql","sp_ineachdb","@is_query_store_on","境界値","SQL Server 2016未満での動作","SQL Server 2014以前","@command=N'SELECT 1', @is_query_store_on=1","Query Storeフィルタが無視される（バージョンチェック）","中","下位バージョン互換性"
"48","UT-IED-048","sp_ineachdb.sql","sp_ineachdb","複合フィルタ","正常系","複数のフィルタ条件を組み合わせた処理","様々な属性のDBが存在","@user_only=1, @recovery_model_desc=N'FULL', @is_read_only=0","全条件に一致するDBのみ処理","高","複合条件フィルタ"
"49","UT-IED-049","sp_ineachdb.sql","sp_ineachdb","処理対象なし","異常系","全DBがフィルタで除外された場合","DBが存在","@name_pattern=N'NonExistent%'","'No databases to process.'がRAISERROR(severity 1)で出力","高","対象なしエラー処理"
"50","UT-IED-050","sp_ineachdb.sql","sp_ineachdb","AG セカンダリ","正常系","AGセカンダリで接続不可DBが除外されること","AG構成、secondary_role_allow_connections=0","@command=N'SELECT DB_NAME()'","接続不可のセカンダリDBが除外される","高","AG セカンダリ対応"
"51","UT-IED-051","sp_ineachdb.sql","sp_ineachdb","HAS_DBACCESS","正常系","アクセス権のないDBが除外されること","一部DBにアクセス権なし","@command=N'SELECT DB_NAME()'","HAS_DBACCESS=0のDBが除外される","高","アクセス権チェック"
"52","UT-IED-052","sp_ineachdb.sql","sp_ineachdb","inaccessible state","正常系","アクセス不可状態のDBが除外されること","RESTORING状態のDBが存在","@command=N'SELECT 1'","state & 992 <> 0のDBが除外される","高","アクセス不可状態除外"
"53","UT-IED-053","sp_ineachdb.sql","sp_ineachdb","Collation check","正常系","Collationが取得できないDBが除外されること","部分的にオンラインのDBが存在","@command=N'SELECT 1'","DATABASEPROPERTYEX(name, 'Collation') IS NULLのDBが除外","中","部分オンライン除外"
"54","UT-IED-054","sp_ineachdb.sql","sp_ineachdb","distributor DB","正常系","distributorデータベースがシステムDBとして扱われること","レプリケーション構成でdistributorが存在","@command=N'SELECT DB_NAME()', @system_only=1","distributorがシステムDBとして処理される","中","distributor対応"
"55","UT-IED-055","sp_ineachdb.sql","sp_ineachdb","カーソル処理","正常系","大量のデータベースでも正常に処理されること","50以上のDBが存在","@command=N'SELECT DB_NAME()'","全対象DBでコマンドが実行される","中","大量DB処理"
"56","UT-IED-056","sp_ineachdb.sql","sp_ineachdb","エラー継続","正常系","1つのDBでエラーが発生しても他DBの処理が継続すること","権限不足のDBが一部存在","@command=N'SELECT * FROM sys.objects'","エラーDBはRAISERRORで通知、他DBは処理継続","高","エラー時継続処理"
"57","UT-IED-057","sp_ineachdb.sql","sp_ineachdb","シングルクォート","正常系","DB名にシングルクォートが含まれる場合の処理","[Test'DB]が存在","@command=N'SELECT ''?'''","シングルクォートが適切にエスケープされる","高","SQLインジェクション対策"
"58","UT-IED-058","sp_ineachdb.sql","sp_ineachdb","角括弧エスケープ","正常系","DB名に角括弧が含まれる場合の処理","[Test]]DB]が存在","@command=N'SELECT ''?''', @database_list=N'[Test]]DB]'","エスケープされた角括弧が正しく解析される","中","角括弧エスケープ"
"59","UT-IED-059","sp_ineachdb.sql","sp_ineachdb","空白文字処理","正常系","DB名リストの空白文字が適切に処理されること","複数DBが存在","@database_list=N' master , tempdb '","前後の空白が除去されDBが正しく認識される","中","空白文字トリミング"
"60","UT-IED-060","sp_ineachdb.sql","sp_ineachdb","SET NOCOUNT","正常系","NOCOUNT ONで余分なメッセージが抑制されること","複数DBが存在","@command=N'INSERT INTO #temp VALUES(1)'","'(1 row affected)'等のメッセージが抑制される","低","出力制御"
"61","UT-IED-061","sp_ineachdb.sql","sp_ineachdb","SET STATISTICS XML OFF","正常系","統計XMLが出力されないこと","複数DBが存在","@command=N'SELECT 1'","統計情報XMLが出力に含まれない","低","出力制御"
"62","UT-IED-062","sp_ineachdb.sql","sp_ineachdb","sp_executesql","正常系","各DBコンテキストでsp_executesqlが正しく実行されること","複数DBが存在","@command=N'SELECT DB_NAME() AS CurrentDB'","各DBのコンテキストでコマンドが実行される","高","実行コンテキスト確認"
"63","UT-IED-063","sp_ineachdb.sql","sp_ineachdb","model DB + Query Store","境界値","SQL Server 2022+でmodelのQS除外が正しく動作すること","SQL Server 2022以降","@command=N'SELECT 1', @is_query_store_on=1","modelデータベースがQSフィルタから適切に除外される","中","SQL Server 2022対応"
"64","UT-IED-064","sp_ineachdb.sql","sp_ineachdb","@print_dbname + @print_command","正常系","複数出力オプションの同時使用","複数DBが存在","@command=N'SELECT 1', @print_dbname=1, @print_command=1","DB名とコマンドの両方が出力される","低","複合出力オプション"
"65","UT-IED-065","sp_ineachdb.sql","sp_ineachdb","改行文字","正常系","コマンド出力時の改行が正しく処理されること","複数DBが存在","@command=N'SELECT 1; SELECT 2', @print_command=1","CRLF(CHAR(13)+CHAR(10))で改行される","低","改行文字処理"
