# 画面遷移図

## 概要

dbatools は PowerShell モジュールであり、従来の GUI 画面ではなく、コマンドラインインターフェース（CLI）を提供します。そのため、「画面遷移」は存在しませんが、コマンド間の関連性と典型的なワークフローを以下に示します。

## コマンドカテゴリ関連図

```mermaid
graph TB
    subgraph dbatools["dbatools PowerShell Module"]
        subgraph Connection["接続管理"]
            Connect[Connect-DbaInstance]
            Disconnect[Disconnect-DbaInstance]
            Test[Test-DbaConnection]
        end

        subgraph Instance["インスタンス管理"]
            InstConfig[sp_configure設定]
            InstProp[インスタンスプロパティ]
            InstAudit[監査・トリガー]
        end

        subgraph Database["データベース管理"]
            DbOps[データベース操作]
            DbBackup[バックアップ/リストア]
            DbSecurity[セキュリティ]
            DbObjects[オブジェクト管理]
        end

        subgraph HA["高可用性"]
            AG[可用性グループ]
            Mirroring[ミラーリング]
            LogShip[ログシッピング]
            Repl[レプリケーション]
        end

        subgraph Monitoring["監視・診断"]
            Perf[パフォーマンス]
            Diag[診断クエリ]
            XE[拡張イベント]
        end

        subgraph Admin["管理"]
            Agent[SQL Agent]
            Service[サービス管理]
            Security[ログイン/権限]
        end

        subgraph Utility["ユーティリティ"]
            Tools[コミュニティツール]
            Export[エクスポート/スクリプト]
            Config[dbatools設定]
        end
    end

    Connect --> Instance
    Connect --> Database
    Connect --> HA
    Connect --> Monitoring
    Connect --> Admin

    Instance --> Database
    Database --> DbBackup
    Database --> DbSecurity
    Database --> DbObjects

    HA --> AG
    HA --> Mirroring
    HA --> LogShip
    HA --> Repl

    Admin --> Agent
    Admin --> Service
    Admin --> Security
```

## 典型的なワークフロー

### 1. データベースバックアップワークフロー

```mermaid
flowchart LR
    A[Connect-DbaInstance] --> B[Get-DbaDatabase]
    B --> C[Backup-DbaDatabase]
    C --> D[Test-DbaLastBackup]
    D --> E{テスト成功?}
    E -->|Yes| F[バックアップ完了]
    E -->|No| G[Get-DbaBackupInformation]
    G --> H[問題調査]
```

### 2. データベースマイグレーションワークフロー

```mermaid
flowchart LR
    A[Connect-DbaInstance<br/>Source] --> B[Test-DbaMigrationConstraint]
    B --> C{制約確認}
    C -->|OK| D[Start-DbaMigration]
    C -->|NG| E[問題解決]
    E --> B
    D --> F[Copy-DbaDatabase]
    D --> G[Copy-DbaLogin]
    D --> H[Copy-DbaAgentJob]
    F --> I[検証]
    G --> I
    H --> I
```

### 3. 可用性グループ管理ワークフロー

```mermaid
flowchart TB
    A[Connect-DbaInstance] --> B[Get-DbaAvailabilityGroup]
    B --> C{AG存在?}
    C -->|No| D[New-DbaAvailabilityGroup]
    C -->|Yes| E[AG管理]
    D --> E
    E --> F[Add-DbaAgDatabase]
    E --> G[Add-DbaAgReplica]
    E --> H[Set-DbaAgListener]
    E --> I[Sync-DbaAvailabilityGroup]
    E --> J[Invoke-DbaAgFailover]
```

### 4. パフォーマンス診断ワークフロー

```mermaid
flowchart LR
    A[Connect-DbaInstance] --> B[Get-DbaWaitStatistic]
    A --> C[Get-DbaCpuUsage]
    A --> D[Get-DbaMemoryUsage]
    A --> E[Invoke-DbaDiagnosticQuery]
    A --> F[Invoke-DbaWhoIsActive]
    B --> G[分析・対策]
    C --> G
    D --> G
    E --> G
    F --> G
```

### 5. セキュリティ管理ワークフロー

```mermaid
flowchart TB
    A[Connect-DbaInstance] --> B[Get-DbaLogin]
    B --> C{ログイン管理}
    C --> D[New-DbaLogin]
    C --> E[Set-DbaLogin]
    C --> F[Remove-DbaLogin]
    A --> G[Get-DbaDbUser]
    G --> H{ユーザー管理}
    H --> I[New-DbaDbUser]
    H --> J[Add-DbaDbRoleMember]
    H --> K[Remove-DbaDbUser]
    A --> L[Get-DbaPermission]
    L --> M[権限レビュー]
```

### 6. SQL Agent ジョブ管理ワークフロー

```mermaid
flowchart LR
    A[Connect-DbaInstance] --> B[Get-DbaAgentJob]
    B --> C{ジョブ操作}
    C --> D[New-DbaAgentJob]
    C --> E[Set-DbaAgentJob]
    C --> F[Start-DbaAgentJob]
    C --> G[Stop-DbaAgentJob]
    D --> H[New-DbaAgentJobStep]
    D --> I[New-DbaAgentSchedule]
    B --> J[Get-DbaAgentJobHistory]
    J --> K[ジョブ結果分析]
```

## カテゴリ別コマンド概要

| カテゴリ | コマンド数 | 主な機能 |
|---------|-----------|---------|
| Availability Group | 31 | AlwaysOn可用性グループの管理 |
| SQL Agent | 45 | SQLエージェントジョブ・スケジュール管理 |
| Database | 150+ | データベース操作・オブジェクト管理 |
| Backup/Restore | 25 | バックアップ・リストア操作 |
| Login/User | 30 | ログイン・ユーザー・権限管理 |
| Replication | 15 | レプリケーション設定・管理 |
| Extended Events | 15 | 拡張イベントセッション管理 |
| Instance | 50 | インスタンス設定・管理 |
| Resource Governor | 12 | リソースガバナー管理 |
| Performance | 25 | パフォーマンス監視・統計 |
| Utility | 100+ | 各種ユーティリティ機能 |
| dbatools | 15 | モジュール設定・管理 |

## 注意事項

- dbatools はコマンドラインツールであり、GUI画面は存在しません
- 各コマンドは独立して実行可能ですが、多くの場合 `Connect-DbaInstance` で接続を確立してから使用します
- パイプライン処理により、複数のコマンドを連結して効率的なワークフローを構築できます
- 詳細なコマンド一覧は「画面一覧.csv」を参照してください
