---
generated_at: 2026-02-18 10:30:00
metrics:
  claims_total: 116
  claims_with_evidence: 112
  claims_without_evidence: 4
confidence_derived: 0.97
---

# 根拠レポート：public-Instance 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：112 / 116、根拠なし：4
- 優先レビュー（高）
  1. **UT-INS-093〜096**: Show-DbaInstanceFileSystem GUI関連テスト - 手動テスト必要
  2. **UT-INS-097〜105**: Update-DbaInstance - 環境依存のインストールテスト
  3. **UT-INS-106〜116**: Install-DbaInstance - 環境依存のインストールテスト

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

- E-01: `public/Connect-DbaInstance.ps1` - 接続関連コマンド（1261行）
- E-02: `public/Disconnect-DbaInstance.ps1` - 切断コマンド（125行）
- E-03: `public/Find-DbaInstance.ps1` - インスタンス検出コマンド（1104行）
- E-04: `public/Test-DbaInstanceName.ps1` - インスタンス名検証コマンド（209行）
- E-05: `public/Repair-DbaInstanceName.ps1` - インスタンス名修正コマンド（273行）
- E-06: `public/Get-DbaInstanceProperty.ps1` - プロパティ取得コマンド（168行）
- E-07: `public/Get-DbaInstanceUserOption.ps1` - ユーザーオプション取得コマンド（90行）
- E-08: `public/Get-DbaInstanceAudit.ps1` - 監査取得コマンド（127行）
- E-09: `public/Get-DbaInstanceAuditSpecification.ps1` - 監査仕様取得コマンド（91行）
- E-10: `public/Get-DbaInstanceInstallDate.ps1` - インストール日取得コマンド（147行）
- E-11: `public/Get-DbaInstanceProtocol.ps1` - プロトコル取得コマンド（135行）
- E-12: `public/Get-DbaInstanceTrigger.ps1` - トリガー取得コマンド（102行）
- E-13: `public/Copy-DbaInstanceAudit.ps1` - 監査コピーコマンド（247行）
- E-14: `public/Copy-DbaInstanceTrigger.ps1` - トリガーコピーコマンド（203行）
- E-15: `public/Copy-DbaInstanceAuditSpecification.ps1` - 監査仕様コピーコマンド（217行）
- E-16: `public/Export-DbaInstance.ps1` - インスタンスエクスポートコマンド（486行）
- E-17: `public/Show-DbaInstanceFileSystem.ps1` - ファイルシステムGUIコマンド（223行）
- E-18: `public/Update-DbaInstance.ps1` - インスタンス更新コマンド（684行）
- E-19: `public/Install-DbaInstance.ps1` - インスタンスインストールコマンド（913行）
- E-20: `docs/code-to-docs/単体テストケース一覧/plan.md` - テスト計画ドキュメント

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

### Connect-DbaInstance (UT-INS-001〜014)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Windows認証でローカルインスタンスに接続できる | E-01 (line 206-210) | ○ |
| C-02 | SQL認証で接続できる | E-01 (line 219-221, 935-938) | ○ |
| C-03 | 名前付きインスタンスに接続できる | E-01 (line 25-26) | ○ |
| C-04 | Databaseパラメータで初期DBを指定できる | E-01 (line 30-32, 654-669) | ○ |
| C-05 | MinimumVersionでバージョンチェックできる | E-01 (line 136-137, 1126-1133) | ○ |
| C-06 | 存在しないインスタンスへの接続でエラーになる | E-01 (line 1074-1117) | ○ |
| C-07 | 不正な資格情報でエラーになる | E-01 (line 419-424) | ○ |
| C-08 | MinimumVersionより古いバージョンでエラーになる | E-01 (line 1126-1133) | ○ |
| C-09 | AzureUnsupportedでAzure接続を拒否できる | E-01 (line 127-129, 1119-1124) | ○ |
| C-10 | SqlConnectionOnlyでSqlConnectionのみ返却される | E-01 (line 124-126, 1135-1140) | ○ |
| C-11 | DedicatedAdminConnectionでDAC接続できる | E-01 (line 147-149, 641-645) | ○ |
| C-12 | AllowTrustServerCertificateでリトライする | E-01 (line 110-113, 1083-1111) | ○ |
| C-13 | 接続文字列で接続できる | E-01 (line 269-274, 608-613) | ○ |
| C-14 | AccessTokenでAzure接続できる | E-01 (line 144-146, 971-1019) | ○ |

### Disconnect-DbaInstance (UT-INS-015〜019)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | SMO Serverオブジェクトの接続を切断できる | E-02 (line 85-98) | ○ |
| C-16 | SqlConnectionオブジェクトを閉じられる | E-02 (line 100-117) | ○ |
| C-17 | 複数オブジェクトをパイプラインで切断できる | E-02 (line 68-69, 73-74) | ○ |
| C-18 | 接続ハッシュからエントリが削除される | E-02 (line 88-91, 106-109) | ○ |
| C-19 | 無効なオブジェクトでエラーハンドリングする | E-02 (line 119-121) | ○ |

### Find-DbaInstance (UT-INS-020〜028)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 | ComputerNameでSQLインスタンスを検出できる | E-03 (line 239-241, 288-296) | ○ |
| C-21 | DiscoveryType=DomainSPNで検出できる | E-03 (line 242-243, 1054-1061) | ○ |
| C-22 | DiscoveryType=DataSourceEnumerationで検出できる | E-03 (line 1037-1052) | ○ |
| C-23 | ScanType=Browserで検出できる | E-03 (line 349-358, 692-777) | ○ |
| C-24 | ScanType=SQLServiceでWMI検出できる | E-03 (line 362-369) | ○ |
| C-25 | MinimumConfidence=Highで高信頼度のみ返却される | E-03 (line 252, 562) | ○ |
| C-26 | ScanType=SqlConnectでSQL接続検証できる | E-03 (line 514-560) | ○ |
| C-27 | インスタンスが存在しないと空の結果になる | E-03 (line 406-423) | ○ |
| C-28 | TCPPortで指定ポートをスキャンできる | E-03 (line 251, 359) | ○ |

### Test-DbaInstanceName (UT-INS-029〜035)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | サーバー名一致でRenameRequired=false | E-04 (line 138) | ○ |
| C-30 | サーバー名不一致でRenameRequired=true | E-04 (line 138) | ○ |
| C-31 | ミラーリング中のDBがBlockersに表示される | E-04 (line 168-176) | ○ |
| C-32 | レプリケーション中のDBがBlockersに表示される | E-04 (line 178-186) | ○ |
| C-33 | SSRSが実行中の場合Warningsに表示される | E-04 (line 145-166) | ○ |
| C-34 | ExcludeSsrsでSSRSチェックをスキップできる | E-04 (line 92, 149) | ○ |
| C-35 | クラスタ環境で警告が出力される | E-04 (line 104-106) | ○ |

### Repair-DbaInstanceName (UT-INS-036〜040)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-36 | サーバー名を修正できる | E-05 (line 225-244) | ○ |
| C-37 | 既に正しい名前の場合スキップされる | E-05 (line 125-127) | ○ |
| C-38 | AutoFixでレプリケーションブロッカーを解消できる | E-05 (line 133-160) | ○ |
| C-39 | ForceでConfirmをスキップできる | E-05 (line 102) | ○ |
| C-40 | クラスタ環境でスキップされる | E-05 (line 113-116) | ○ |

### Get-DbaInstanceProperty (UT-INS-041〜045)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | 3種類のプロパティが取得できる | E-06 (line 107-165) | ○ |
| C-42 | InstancePropertyで特定プロパティのみ取得できる | E-06 (line 110-111, 130-131, 150-151) | ○ |
| C-43 | ExcludeInstancePropertyでプロパティを除外できる | E-06 (line 113-114, 133-134, 153-154) | ○ |
| C-44 | 複数インスタンスで取得できる | E-06 (line 100, 92) | ○ |
| C-45 | PropertyTypeが正しく設定される | E-06 (line 120, 140, 160) | ○ |

### Get-DbaInstanceUserOption (UT-INS-046〜048)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46 | ユーザーオプションが取得できる | E-07 (line 81-87) | ○ |
| C-47 | ANSI_NULLSなどのオプションが含まれる | E-07 (line 45) | ○ |
| C-48 | パイプラインで複数インスタンスを処理できる | E-07 (line 69) | ○ |

### Get-DbaInstanceAudit (UT-INS-049〜053)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | サーバー監査が取得できる | E-08 (line 101) | ○ |
| C-50 | Auditパラメータで特定監査のみ取得できる | E-08 (line 103-105) | ○ |
| C-51 | ExcludeAuditで監査を除外できる | E-08 (line 106-108) | ○ |
| C-52 | 監査が存在しない場合空の結果になる | E-08 (line 101-108) | ○ |
| C-53 | FullNameとRemoteFullNameが正しく設定される | E-08 (line 110-115, 120-121) | ○ |

### Get-DbaInstanceAuditSpecification (UT-INS-054〜056)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 | サーバー監査仕様が取得できる | E-09 (line 82) | ○ |
| C-55 | AuditNameが正しく設定される | E-09 (line 87) | ○ |
| C-56 | 監査仕様が存在しない場合空の結果になる | E-09 (line 82-88) | ○ |

### Get-DbaInstanceInstallDate (UT-INS-057〜060)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | SQLインストール日が取得できる | E-10 (line 105-119) | ○ |
| C-58 | IncludeWindowsでWindowsインストール日も取得できる | E-10 (line 123-129) | ○ |
| C-59 | SQL Server 2005以上でsys.server_principalsから取得する | E-10 (line 105-108) | ○ |
| C-60 | DbaDateTime型で返却される | E-10 (line 108, 112, 118, 125) | ○ |

### Get-DbaInstanceProtocol (UT-INS-061〜065)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61 | ネットワークプロトコルが取得できる | E-11 (line 119-123) | ○ |
| C-62 | TCP/IP, Named Pipes等のプロトコルが含まれる | E-11 (line 119) | ○ |
| C-63 | Enable/Disableメソッドが利用可能 | E-11 (line 121-122) | ○ |
| C-64 | IsEnabledプロパティが正しく設定される | E-11 (line 123) | ○ |
| C-65 | WMIアクセス不可の場合エラーになる | E-11 (line 102-104, 109-111) | ○ |

### Get-DbaInstanceTrigger (UT-INS-066〜069)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-66 | サーバートリガーが取得できる | E-12 (line 90) | ○ |
| C-67 | IsEnabledプロパティが正しく設定される | E-12 (line 95) | ○ |
| C-68 | DdlTriggerEventsが取得できる | E-12 (line 95) | ○ |
| C-69 | サーバートリガーが存在しない場合空の結果になる | E-12 (line 90-99) | ○ |

### Copy-DbaInstanceAudit (UT-INS-070〜075)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-70 | 監査を別インスタンスにコピーできる | E-13 (line 229-243) | ○ |
| C-71 | Auditパラメータで特定監査のみコピーできる | E-13 (line 159-161) | ○ |
| C-72 | ExcludeAuditで除外できる | E-13 (line 159-161) | ○ |
| C-73 | 既存監査がある場合スキップされる | E-13 (line 167-174) | ○ |
| C-74 | Forceで既存監査を上書きできる | E-13 (line 175-195) | ○ |
| C-75 | Pathで宛先パスを指定できる | E-13 (line 163-165) | ○ |

### Copy-DbaInstanceTrigger (UT-INS-076〜080)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | サーバートリガーを別インスタンスにコピーできる | E-14 (line 180-199) | ○ |
| C-77 | ServerTriggerで特定トリガーのみコピーできる | E-14 (line 151-153) | ○ |
| C-78 | 既存トリガーがある場合スキップされる | E-14 (line 155-163) | ○ |
| C-79 | Forceで既存トリガーを上書きできる | E-14 (line 164-177) | ○ |
| C-80 | 宛先バージョンが低い場合エラーになる | E-14 (line 132-135) | ○ |

### Copy-DbaInstanceAuditSpecification (UT-INS-081〜084)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 | 監査仕様を別インスタンスにコピーできる | E-15 (line 198-213) | ○ |
| C-82 | 関連監査が存在しない場合スキップされる | E-15 (line 163-172) | ○ |
| C-83 | Forceで既存仕様を上書きできる | E-15 (line 183-196) | ○ |
| C-84 | sysadminでない場合エラーになる | E-15 (line 118-121, 136-139) | ○ |

### Export-DbaInstance (UT-INS-085〜092)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-85 | インスタンス設定をエクスポートできる | E-16 (line 215-477) | ○ |
| C-86 | sp_configureがエクスポートされる | E-16 (line 265-270) | ○ |
| C-87 | ログインがエクスポートされる | E-16 (line 293-298) | ○ |
| C-88 | Excludeで特定項目を除外できる | E-16 (line 194-195, 265) | ○ |
| C-89 | Pathでエクスポート先を指定できる | E-16 (line 188-190, 247-253) | ○ |
| C-90 | Forceで既存ファイルを上書きできる | E-16 (line 200, 247-249) | ○ |
| C-91 | ExcludePasswordでパスワードを除外できる | E-16 (line 199, 289, 296, 331) | ○ |
| C-92 | NoPrefixでヘッダーコメントを除外できる | E-16 (line 198, 275, 282) | ○ |

### Show-DbaInstanceFileSystem (UT-INS-093〜096)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-93 | ファイルシステムブラウザが表示される | E-17 (line 159-213) | △ |
| C-94 | フォルダ選択時にパスが返却される | E-17 (line 217-221) | △ |
| C-95 | キャンセル時にnullが返却される | E-17 (line 208-211) | ○ |
| C-96 | リモートファイルアクセス不可の場合エラーになる | E-17 (line 180-185) | ○ |

### Update-DbaInstance (UT-INS-097〜105)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-97 | サービスパックをインストールできる | E-18 (line 282-288, 663-682) | ○ |
| C-98 | 累積更新プログラムをインストールできる | E-18 (line 282-288, 663-682) | ○ |
| C-99 | KBで特定更新をインストールできる | E-18 (line 266-276, 331-337) | ○ |
| C-100 | Restartで自動再起動できる | E-18 (line 241, 665) | ○ |
| C-101 | Downloadで更新をダウンロードできる | E-18 (line 250, 583-584, 610-627) | ○ |
| C-102 | InstanceNameで特定インスタンスのみ更新できる | E-18 (line 238, 471-473) | ○ |
| C-103 | パッチファイルが見つからない場合エラーになる | E-18 (line 585-586) | ○ |
| C-104 | 再起動が必要な状態でRestartなしの場合エラーになる | E-18 (line 484-487) | ○ |
| C-105 | Throttleで並列数を制限できる | E-18 (line 243, 681) | ○ |

### Install-DbaInstance (UT-INS-106〜116)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-106 | デフォルトインスタンスをインストールできる | E-19 (line 892-911) | ○ |
| C-107 | 名前付きインスタンスをインストールできる | E-19 (line 346, 669) | ○ |
| C-108 | Feature=Allで全機能をインストールできる | E-19 (line 362-364, 507-523) | ○ |
| C-109 | ConfigurationFileで設定ファイルを使用できる | E-19 (line 358-359, 532-539, 673-676) | ○ |
| C-110 | AuthenticationMode=MixedでSQL認証を有効化できる | E-19 (line 367, 526-529, 856-858) | ○ |
| C-111 | EngineCredentialでサービスアカウントを指定できる | E-19 (line 382, 814) | ○ |
| C-112 | DataPath/LogPath/TempPathでパスを指定できる | E-19 (line 369-371, 829-837) | ○ |
| C-113 | PerformVolumeMaintenanceTasksで瞬時初期化を有効化できる | E-19 (line 391, 789-792) | ○ |
| C-114 | UpdateSourcePathでスリップストリームできる | E-19 (line 373, 847-850) | ○ |
| C-115 | 不正なバージョンでエラーになる | E-19 (line 349-350, 491-505) | △ |
| C-116 | SaveConfigurationで設定ファイルを保存できる | E-19 (line 389, 879) | △ |

## 4) 不足情報（Unknown / Missing）
- **UT-INS-093, UT-INS-094**: Show-DbaInstanceFileSystemはWPF GUIを使用するため、自動テストが困難。手動テストまたはUIテストフレームワークが必要
  - 候補：Pester UIテスト拡張 / 手動テスト / モック使用
- **UT-INS-115**: 不正バージョン（例：2030）のエラーハンドリングは、ValidateSetで定義されているが、実際のエラーメッセージ確認が必要
  - 候補：パラメータバリデーションテスト
- **UT-INS-116**: SaveConfigurationの実際の出力ファイル形式確認が必要
  - 候補：統合テストでファイル内容検証

## 5) リスクフラグ（レビュー観点）
- **1: 中リスク** - GUI関連テスト（UT-INS-093〜096）は自動化が困難であり、手動テストまたは特殊なテストフレームワークが必要
- **1: 中リスク** - インストール/更新関連テスト（UT-INS-097〜116）は実環境でのテストが必要であり、テスト環境のセットアップコストが高い
- **0: 低リスク** - 接続・切断・検出関連テスト（UT-INS-001〜028）は標準的なPesterテストで実装可能
- **0: 低リスク** - Get系コマンド（UT-INS-041〜069）は参照のみのため、テスト実装が比較的容易

## 6) レビュアーチェックリスト（最小）
- [ ] 全116テストケースがCSVファイルに正しく出力されているか確認
- [ ] テストIDの命名規則（UT-INS-XXX）が連番で正しいか確認
- [ ] 高優先度テスト（接続・切断・検出・コピー）が網羅されているか確認
- [ ] 異常系テストケースが各コマンドに含まれているか確認
- [ ] 境界値テストケースが適切に設計されているか確認
- [ ] GUI関連テスト（Show-DbaInstanceFileSystem）の手動テスト手順を別途準備
- [ ] インストール/更新テスト用の隔離環境を準備
- [ ] MinimumVersionを使用するコマンドのバージョン検証テストを確認
- [ ] パイプライン入力をサポートするコマンドのパイプラインテストを確認
