---
generated_at: 2026-02-18 11:05:00
metrics:
  claims_total: 25
  claims_with_evidence: 25
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：258-Copy-DbaDbMail

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：25 / 25、根拠なし：0
- 優先レビュー（高）
  - 全ての主張がソースコードに基づいて検証済み

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

- E-01: `public/Copy-DbaDbMail.ps1` 1-531行目（関数全体）
- E-02: `public/Copy-DbaDbMail.ps1` 111-126行目（パラメータ定義）
- E-03: `public/Copy-DbaDbMail.ps1` 129-159行目（Copy-DbaDbMailConfig内部関数）
- E-04: `public/Copy-DbaDbMail.ps1` 161-227行目（Copy-DbaDatabaseAccount内部関数）
- E-05: `public/Copy-DbaDbMail.ps1` 229-298行目（Copy-DbaDbMailProfile内部関数）
- E-06: `public/Copy-DbaDbMail.ps1` 300-385行目（Copy-DbaDbMailServer内部関数）
- E-07: `public/Copy-DbaDbMail.ps1` 387-416行目（DAC接続ロジック）
- E-08: `public/Copy-DbaDbMail.ps1` 417-524行目（processブロック）
- E-09: `public/Copy-DbaDbMail.ps1` 479-523行目（DB Mail XPs有効化）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Sourceパラメータは必須 | E-02 (113行目: `[parameter(Mandatory)]`) | ○ |
| C-02 | Destinationパラメータは必須で配列 | E-02 (117行目: `[DbaInstanceParameter[]]$Destination`) | ○ |
| C-03 | TypeのValidateSet定義 | E-02 (121行目: `ValidateSet('ConfigurationValues', 'Profiles', 'Accounts', 'MailServers')`) | ○ |
| C-04 | SupportsShouldProcess対応 | E-01 (111行目: `SupportsShouldProcess, ConfirmImpact = "Medium"`) | ○ |
| C-05 | Copy-DbaDbMailConfig内部関数が存在 | E-03 (129行目: `function Copy-DbaDbMailConfig`) | ○ |
| C-06 | Copy-DbaDatabaseAccount内部関数が存在 | E-04 (161行目: `function Copy-DbaDatabaseAccount`) | ○ |
| C-07 | Copy-DbaDbMailProfile内部関数が存在 | E-05 (229行目: `function Copy-DbaDbMailProfile`) | ○ |
| C-08 | Copy-DbaDbMailServer内部関数が存在 | E-06 (300行目: `function Copy-DbaDbMailServer`) | ○ |
| C-09 | ExcludePasswordでDAC要否判定 | E-07 (390行目: `if ($ExcludePassword) { $dacNeeded = $false }`) | ○ |
| C-10 | DAC接続でパスワード復号化 | E-07 (402行目: `-DedicatedAdminConnection`) | ○ |
| C-11 | MinimumVersion 9（SQL 2005） | E-07 (402行目, 407行目: `-MinimumVersion 9`) | ○ |
| C-12 | ConfigurationValues.Script()でスクリプト生成 | E-03 (145行目: `$mail.ConfigurationValues.Script()`) | ○ |
| C-13 | Force未指定で既存オブジェクトスキップ | E-04 (186-193行目) | ○ |
| C-14 | Force指定で既存オブジェクト削除 | E-04 (196-206行目: `Drop()`) | ○ |
| C-15 | Get-DecryptedObjectでパスワード復号化 | E-06 (310行目) | ○ |
| C-16 | ソースインスタンス名を宛先に置換 | E-04 (214行目: `-replace [Regex]::Escape($source), $destinstance`) | ○ |
| C-17 | 出力にDateTime含む | E-03 (141行目: `DateTime = [Dataplat.Dbatools.Utility.DbaDateTime](Get-Date)`) | ○ |
| C-18 | 出力にSourceServer含む | E-03 (135行目: `SourceServer = $sourceServerName`) | ○ |
| C-19 | 出力にDestinationServer含む | E-03 (136行目: `DestinationServer = $destServer.Name`) | ○ |
| C-20 | 出力にStatus含む（Successful/Skipped/Failed） | E-03 (138-139行目, 150行目, 153行目) | ○ |
| C-21 | Type指定時に個別コンポーネントコピー | E-08 (426-450行目: `switch ($type)`) | ○ |
| C-22 | Type未指定時に全コピー | E-08 (471-477行目) | ○ |
| C-23 | DB Mail XPs有効化ロジック | E-09 (480-481行目: `Get-DbaSpConfigure -Name "Database Mail XPs"`) | ○ |
| C-24 | Set-DbaSpConfigureでXPs有効化 | E-09 (503行目: `Set-DbaSpConfigure...`) | ○ |
| C-25 | DAC接続をendブロックで切断 | E-01 (527-529行目: `if ($dacOpened) { Disconnect-DbaInstance }`) | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠不足の項目はありません。全ての主張がソースコードで確認できます。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全ての主張がソースコードから直接検証可能

## 6) レビュアーチェックリスト（最小）
- [ ] 4つの内部コピー関数の存在を確認
- [ ] DAC接続ロジックを確認
- [ ] Force/既存オブジェクト処理を確認
- [ ] DB Mail XPs有効化ロジックを確認
