"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"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ラベル"
