

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# DMS Schema Conversion の選択ルール
<a name="sc-selection-rules"></a>

DMS Schema Conversion は、データベーススキーマをあるエンジンから別のエンジンに変換します。*選択ルール*を使用して、評価、変換、エクスポートなどのオペレーション中に DMS Schema Conversion が動作するデータベースオブジェクトを制御します。選択ルールは、 `SelectionRules`パラメータを (または AWS CLI `--selection-rules`で) 渡す JSON オブジェクトです。選択ルールがない場合、オペレーションは何も操作しません。ルールを使用すると、1 つのオブジェクト、スキーマ全体、データベース全体 (Microsoft SQL Server および SAP ASE (Sybase ASE) ソースの場合）、またはパターンに一致するオブジェクトのグループにオペレーションをスコープできます。

**注記**  
 AWS マネジメントコンソールを使用すると、DMS Schema Conversion は移行プロジェクト UI の選択に基づいて選択ルールを自動的に構築します。DMS Schema Conversion API または AWS CLI を使用する場合にのみ、選択ルールを直接記述する必要があります。

移行プロジェクトのソース側とターゲット側の両方で同じルールシェイプを使用します。オブジェクトロケーターの `server-name`フィールドは、ルールがソースデータプロバイダーをターゲットにするか、ターゲットデータプロバイダーをターゲットにするかを指定します。1 つの移行プロジェクトでは通常、評価と変換にはソースルール、SQL エクスポートにはターゲットルールの 2 種類のルールが使用されます。

## 選択ルールの形式
<a name="dms-sc-selection-rule-format"></a>

選択ルールドキュメントは、単一の`rules`配列を持つ JSON オブジェクトです。配列内の各エントリは 1 つのルールであり、すべてのルールには次のフィールドがすべて含まれている必要があります。


| パラメータ | 値 | 説明 | 
| --- | --- | --- | 
| rule-type | selection | ルールのタイプを識別する値。すべての選択ルールで、これを に設定しますselection。必須パラメータ。 | 
| rule-id | 数値 (整数）。 | ルールの一意の数値識別子。必須パラメータ。 | 
| rule-name | 英数字値。 | ルールを特定する一意な名前。必須パラメータ。 | 
| rule-action | explicit, include, または exclude | オブジェクトロケーターの解釈方法を決定する値。「[ルールのアクション](#dms-sc-selection-rule-actions)」を参照してください。必須パラメータ。 | 
| object-locator | エンジン固有のロケーターキーを含む JSON オブジェクト。 | ルールが適用されるデータベースオブジェクトを識別するオブジェクト。「[オブジェクトロケーター階層](#dms-sc-selection-rule-object-locator)」を参照してください。必須パラメータ。 | 

次の最小限の例は、ソースサーバー上の 1 つのスキーマを対象としています。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}"
      }
    }
  ]
}
```

**注記**  
 AWS CLI を使用する場合は、次の方法で選択ルールを渡すことができます。これは、任意の文字列パラメータで動作する標準の AWS CLI 機能です。  
インライン: `--selection-rules '{"rules":[...]}'` (JSON 二重引用符のエスケープを避けるために一重引用符を使用)
相対パス: `--selection-rules file://example-rules.json`
絶対パス: `--selection-rules file:///tmp/example-rules.json`

内のすべてのフィールド値は空でない文字列`object-locator`である必要があります。空の文字列 ( など`"schema-name": ""`) は、 エラーで拒否されます。

**注記**  
この`database-name`キーは、Microsoft SQL Server および SAP ASE (Sybase ASE) ソースでのみ有効です。他のソースエンジンのロケーター`database-name`への送信は、サポートされていないキーとして拒否されます。

## ルールの記述
<a name="dms-sc-writing-rules"></a>

### オブジェクトロケーター階層
<a name="dms-sc-selection-rule-object-locator"></a>

は、エンジン固有のキーの階層を介して 1 つ以上のデータベースオブジェクト`object-locator`を識別します。各キーはスコープを絞り込み、スコープを広げるために低レベルのキーを省略します。階層はソースエンジンによって異なります。
+ **Microsoft SQL Server と SAP ASE (Sybase ASE)** — `server-name`` → ``database-name`` → ``schema-name`` → `オブジェクトレベルのキー (例: `table-name`)。これらのエンジンは、サーバーとスキーマの間に追加の`database-name`レベルがあります。
+ **他のすべてのエンジン** (Oracle、IBM Db2 for z/OS、およびすべてのターゲットエンジン: PostgreSQL、Aurora PostgreSQL、MySQL、Aurora MySQL、IBM Db2 LUW) — `server-name`` → ``schema-name`` → `オブジェクトレベルのキー。これらのエンジンには`database-name`レベルがありません。スキーマは の直下の上位コンテナです`server-name`。

次の の例では、特定の Microsoft SQL Server テーブルを 1 つ選択します。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "{{schema_name}}",
        "table-name": "{{table_name}}"
      }
    }
  ]
}
```

スコープをスキーマ全体に拡大するには、リーフレベルのキーを省略します。その後、このルールは、テーブル、ビュー、プロシージャ、関数、シーケンス、ソースエンジンが公開するその他のオブジェクトなど、そのスキーマ内のすべてのアドレス可能なオブジェクトタイプに適用されます。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "{{schema_name}}"
      }
    }
  ]
}
```

使用できるロケーターキーは、ソースエンジンまたはターゲットエンジンによって異なります。エンジンごとの完全なキーリファレンスについては、「」を参照してください[データベース別のオブジェクトロケーターキー](#dms-sc-selection-rule-locator-keys)。

### ソースルールとターゲットルール
<a name="dms-sc-selection-rule-source-vs-target"></a>

明示的な`rule-type`フィールドは、ルールを「ソース」または「ターゲット」としてマークしません。の `server-name`値で区別を完全に制御します`object-locator`。 が**ソース**データプロバイダー`server-name`と一致する場合、ルールはソースメタデータツリーをターゲットとし、 が**ターゲット**データプロバイダーと一致する場合、ルールはターゲットメタデータツリーをターゲットとします。

`server-name` では、次のいずれかを使用できます。
+ データプロバイダーで設定された**サーバー名**の値。これは通常、ホスト名または IP アドレスですが、同じマシンに解決される別の DNS 名または IP ではなく、データプロバイダーに保存されている値と正確に一致する必要があります。
+ データプロバイダーの**リソース ID** — ARN の最後のセグメント (たとえば、ARN が の場合`arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS`、リソース ID は )`EXAMPLEABCDEFGHIJKLMNOPQRS`。

### ルールのアクション
<a name="dms-sc-selection-rule-actions"></a>

`rule-action` フィールドを使用して、DMS Schema Conversion がオブジェクトロケーター内の値を解釈する方法を指定します。ワイルドカードは、 `include`および でのみ使用できます`exclude`。


| 値 | 行動 | どのような場合に使用するか | 
| --- | --- | --- | 
| `"include"` | 名前がパターンに一致するすべてのオブジェクトを選択します。(0 文字以上の`%`任意のシーケンス) と `_` (1 文字) をワイルドカードとしてサポートします。リテラルアンダースコアを一致`[_]`させるには を使用し、リテラルパーセント文字を一致`[%]`させるには を使用します。 | を使用して、オブジェクトのグループを共有命名パターンと照合します。 | 
| `"exclude"` | 前述の`include`ルールで既に選択されているセットからオブジェクトを削除します。先行しない`exclude`ルール`include`は効果がありません。 | を使用して、より広範な から例外を抽出します`include`。 | 
| `"explicit"` | 名前付きオブジェクトを正確に選択します。`schema-name`、、 `database-name`などのリーフキーを含むすべてのロケーター値は`table-name``scalar-function-name`、リテラル文字列として一致します。`%`、、`_`、 などのワイルドカード文字`]`は`[`、 では特別な意味がありません`explicit`。 | アクションを実行するすべてのオブジェクトの正確な名前がわかっている場合に使用します。 | 

**注記**  
一部のオペレーションは`"explicit"`ルールのみを受け入れ、 `"include"`または をサポートしていません`"exclude"`。特定のオペレーションの [AWS API リファレンス](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html)をチェックして、サポートされているルールアクションを確認します。

## オブジェクトロケーターリファレンス
<a name="dms-sc-locator-reference"></a>

### データベース別のオブジェクトロケーターキー
<a name="dms-sc-selection-rule-locator-keys"></a>

次のタブは、サポートされている各データベースのロケーターキーを示しています。

------
#### [ SQL Server ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `database-name` | サーバー上のデータベース。 | 
| `schema-name` | データベース内のスキーマ。 | 
| `table-name` | デフォルトではテーブル、または で使用する場合はビュー`"table-type": "view"`。 | 
| `table-type` | `"table"` (デフォルト) または `"view"`。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `scalar-function-name` | スカラー値関数。 | 
| `table-valued-function-name` | テーブル値関数。 | 
| `inline-function-name` | インライン関数。 | 
| `aggregate-function-name` | 集計関数。 | 
| `synonym-name` | シノニム。 | 
| `sequence-name` | シーケンス。 | 
| `type-name` | タイプ。 | 
| `table-type-name` | テーブルタイプ。 | 
| `user-defined-type-name` | ユーザー定義タイプ。 | 
| `xml-schema-collection-name` | XML スキーマコレクション。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ Oracle ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `schema-name` | スキーマ (Oracle ユーザー）。 | 
| `table-name` | デフォルトではテーブル、または で使用する場合はビュー`"table-type": "view"`。 | 
| `table-type` | `"table"` (デフォルト) または `"view"`。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `function-name` |  関数。 | 
| `package-name` | パッケージ。 | 
| `sequence-name` | シーケンス。 | 
| `synonym-name` | シノニム。 | 
| `type-name` | ユーザー定義タイプ。 | 
| `materialized-view-name` | マテリアライズドビュー。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ SAP ASE (Sybase ASE) ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `database-name` | サーバー上のデータベース。 | 
| `schema-name` | データベース内のスキーマ。 | 
| `table-name` | デフォルトではテーブル、または で使用する場合はビュー`"table-type": "view"`。 | 
| `table-type` | `"table"` (デフォルト) または `"view"`。 | 
| `materialized-view-name` | マテリアライズドビュー。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `scalar-function-name` | スカラー値関数。 | 
| `table-valued-function-name` | テーブル値関数。 | 
| `user-defined-type-name` | ユーザー定義タイプ。 | 
| `default-name` | ユーザー定義のデフォルト。を通じて`Describe*`のみ到達可能です。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ PostgreSQL ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `schema-name` | スキーマ。 | 
| `table-name` | テーブルまたはビュー。 を使用して区別`table-type`します。 | 
| `function-name` |  関数。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `sequence-name` | シーケンス。 | 
| `materialized-view-name` | マテリアライズドビュー。 | 
| `type-name` | ユーザー定義タイプ。 | 
| `domain-name` | ドメイン。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ MySQL ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `schema-name` | スキーマ。 | 
| `table-name` | テーブルまたはビュー。 を使用して区別`table-type`します。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `function-name` |  関数。 | 
| `event-name` | イベント。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ IBM Db2 for z/OS ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `schema-name` | スキーマ。 | 
| `table-name` | テーブル、ビュー、またはグローバル一時テーブル。 を使用して区別`table-type`します。 | 
| `table-type` | `"table"` (デフォルト) または `"view"`。 | 
| `procedure-name` | ストアドプロシージャまたは外部プロシージャ。 | 
| `function-name` | 関数 (インライン、スカラー、ソース、テーブル、または外部関数）。 | 
| `sequence-name` | シーケンス。 | 
| `alias-name` | エイリアス。PostgreSQL ターゲットモデルはありません。 `StartMetadataModelExportAsScript`で使用します`Origin: SOURCE`。 | 
| `mqtable-name` | マテリアライズドクエリテーブル (MQT)。PostgreSQL ターゲットモデルがありません。 | 
| `type-name` | ユーザー定義型 (個別の型または構造化型）。PostgreSQL ターゲットモデルがありません。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------
#### [ IBM Db2 LUW ]


| キー | 選択 | 
| --- | --- | 
| `server-name` | サーバー。 | 
| `schema-name` | スキーマ。 | 
| `table-name` | テーブルまたはビュー。 を使用して区別`table-type`します。 | 
| `procedure-name` | ストアドプロシージャ。 | 
| `function-name` | 関数 (スカラー、ソース、またはテーブル関数）。 | 
| `sequence-name` | シーケンス。 | 
| `module-name` | モジュール。 | 
| `category-name` | オブジェクトクラス。を使用してオブジェクトのカテゴリ全体をターゲットにします。「」を参照してください[エンジン別のカテゴリ名](#dms-sc-category-names)。 | 

------

## エンジン別のカテゴリ名
<a name="dms-sc-category-names"></a>

選択ルールの`category-name`値は、個々のオブジェクトではなくオブジェクトクラス全体を対象としています。カテゴリ名はエンジン固有で、大文字と小文字が区別されます。オペレーションが受け入れるかどうか`category-name`はオペレーションによって異なります。使用しているオペレーションの [AWS API リファレンス](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html)を確認してください。以下のタブは、ソースエンジンとターゲットエンジンの両方を対象としています。

**重要**  
あるエンジンから別のエンジン用に設定されたプロジェクトにカテゴリ名を送信すると、エラーが返されます。

------
#### [ SQL Server ]

Microsoft SQL Server ソースには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | ベーステーブル。 | 
| `Views` | ビュー。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `SQL scalar functions` | スカラー T-SQL 関数。 | 
| `SQL table-valued functions` | 複数ステートメントのテーブル値関数。 | 
| `SQL inline functions` | インラインテーブル値関数。 | 
| `Aggregate functions` | ユーザー定義の集計関数。 | 
| `Synonyms` | T-SQL シノニム。 | 
| `Sequences` | シーケンスオブジェクト。 | 
| `Types` | XML スキーマコレクションと列タイプ。 | 
| `Table types` | テーブルタイプのパラメータ宣言。 | 
| `User-Defined Types` | エイリアスと CLR ユーザー定義タイプ。 | 
| `XML Schema Collections` | XML スキーマコレクション。 | 

------
#### [ Oracle ]

Oracle ソースには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | テーブル。 | 
| `External Tables` | 外部テーブル。 | 
| `Views` | ビュー。 | 
| `Packages` | PL/SQL パッケージの仕様と本文。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `Functions` | スカラーやパイプラインを含むすべてのユーザー関数。 | 
| `User Defined Types` | オブジェクトタイプ。 | 
| `Collection Types` | VARRAY およびネストされたテーブルタイプ。 | 
| `Sequences` | シーケンス。 | 
| `Materialized Views` | マテリアライズドビュー。 | 
| `Materialized View Logs` | マテリアライズドビューの変更ログ。 | 
| `Synonyms` | パブリックシノニムとプライベートシノニム。 | 
| `Clusters` | インデックスクラスターとハッシュクラスター。 | 
| `Database Links` | データベースリンク。 | 

------
#### [ SAP ASE (Sybase ASE) ]

SAP ASE (Sybase ASE) ソースには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | ベーステーブル。 | 
| `Views` | ビュー。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `Scalar Functions` | スカラー T-SQL 関数。 | 
| `Table Valued Functions` | テーブル値関数。 | 
| `Materialized Views` | マテリアライズドビュー。 | 
| `User Defined Types` | エイリアスユーザー定義タイプ。 | 
| `Defaults` | バウンドデフォルトオブジェクト。Describe-Only。個別に変換することはできません。 | 

------
#### [ PostgreSQL ]

PostgreSQL および Aurora PostgreSQL ターゲットには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | ベーステーブル。 | 
| `Views` | ビュー。 | 
| `Functions` | 関数。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `Sequences` | シーケンス。 | 
| `Materialized Views` | マテリアライズドビュー。 | 
| `Types` | ユーザー定義タイプ。 | 
| `Domains` | ドメイン。 | 

------
#### [ MySQL ]

MySQL および Aurora MySQL ターゲットには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | ベーステーブル。 | 
| `Views` | ビュー。 | 
| `Functions` | 関数。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `Events` | イベント。 | 

------
#### [ IBM Db2 for z/OS ]

IBM Db2 for z/OS ソースには、次のカテゴリ名が適用されます。


| `category-name` 値 | ロケーターキー | グループ化する内容 | 
| --- | --- | --- | 
| `Tables` | `table-name` \+ `"table-type": "table"` | ベーステーブル。 | 
| `Global Temporary Tables` | `table-name` \+ `"table-type": "table"` | グローバル一時テーブル。PostgreSQL ターゲットモデルがありません。 | 
| `Materialized Query Tables` | `mqtable-name` | マテリアライズドクエリテーブル (MQTs)。PostgreSQL ターゲットモデルがありません。 | 
| `Views` | `table-name` \+ `"table-type": "view"` | ビュー。 | 
| `Aliases` | `alias-name` | エイリアス。PostgreSQL ターゲットモデルがありません。 | 
| `Procedures` | `procedure-name` | ストアドプロシージャ。 | 
| `Functions` | `function-name` | すべての関数サブタイプ: スカラー、テーブル、インライン、ソース。 | 
| `Sequences` | `sequence-name` | シーケンス。 | 
| `User Defined Types` | `type-name` | 異なる型と構造化型。PostgreSQL ターゲットモデルがありません。 | 
| `External Routines` | `function-name` / `procedure-name` | 外部関数と外部プロシージャ。 | 

------
#### [ IBM Db2 LUW ]

IBM Db2 LUW ターゲットには、次のカテゴリ名が適用されます。


| `category-name` 値 | グループ化する内容 | 
| --- | --- | 
| `Tables` | ベーステーブル。 | 
| `Views` | ビュー。 | 
| `Functions` | 関数 (スカラー、ソース、テーブル）。 | 
| `Procedures` | ストアドプロシージャ。 | 
| `Sequences` | シーケンス。 | 
| `Modules` | モジュール。 | 

------

## 選択ルールの例
<a name="dms-sc-selection-rule-examples"></a>

次の例は、一般的な移行シナリオの選択ルールを記述する方法を示しています。各例では、 `StartMetadataModelConversion`や などの DMS Schema Conversion API オペレーションに渡す`--selection-rules`パラメータ値を使用します`StartMetadataModelAssessment`。

### 単一のテーブルを選択する (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-single-table"></a>

Microsoft SQL Server ソースから変換する特定のテーブルを 1 つ選択します。Microsoft SQL Server では`database-name`、 に加えて が必要です`schema-name`。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "{{schema_name}}",
        "table-name": "{{table_name}}"
      }
    }
  ]
}
```

### スキーマ全体を選択する (Oracle)
<a name="dms-sc-selection-rule-example-whole-schema"></a>

オブジェクトレベルのキーを省略して、Oracle スキーマ内のすべてのオブジェクトを選択します。Oracle には`database-name`レベルがありません。スキーマは の最上位コンテナです`server-name`。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}"
      }
    }
  ]
}
```

### ビューを選択する (Oracle)
<a name="dms-sc-selection-rule-example-view"></a>

Oracle ビューは、 `table-name` で を使用して対処されます`"table-type": "view"`。個別の`view-name`キーはありません。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}",
        "table-name": "{{view_name}}",
        "table-type": "view"
      }
    }
  ]
}
```

### ストアドプロシージャを選択する (IBM Db2 for z/OS)
<a name="dms-sc-selection-rule-example-procedure-db2"></a>

IBM Db2 for z/OS ソースから特定のストアドプロシージャを 1 つ選択します。IBM Db2 for z/OS は を使用し`procedure-name`、`database-name`レベルなしで から `server-name` に直接移行`schema-name`します。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}",
        "procedure-name": "{{procedure_name}}"
      }
    }
  ]
}
```

### スキーマ内のすべての手順を選択する (SAP ASE)
<a name="dms-sc-selection-rule-example-all-procedures"></a>

を のワイルドカード`%`として使用して、SAP ASE (Sybase ASE) スキーマのすべての手順を選択します`procedure-name`。SAP ASE (Sybase ASE) には `database-name``server-name`～ が必要です`schema-name`。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "include",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "%"
      }
    }
  ]
}
```

### ワイルドカードパターンでテーブルを選択する (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-wildcard"></a>

プレフィックスで複数のテーブル`%`を一致させるには、 を使用します。この例では、名前が で始まるすべてのテーブルを選択します`Fact_`。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "include",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "table-name": "Fact_%"
      }
    }
  ]
}
```

### スキーマを含め、プレフィックスでオブジェクトを除外する (Oracle)
<a name="dms-sc-selection-rule-example-include-exclude"></a>

Oracle スキーマにすべてのオブジェクトを含め、名前が で始まるテーブルを除外します`TMP_`。ルールは`rule-id`順番に評価されます。一致すると `exclude`が優先されます。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "include",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}"
      }
    },
    {
      "rule-type": "selection",
      "rule-id": "2",
      "rule-name": "{{rule_name}}",
      "rule-action": "exclude",
      "object-locator": {
        "server-name": "{{source_server}}",
        "schema-name": "{{schema_name}}",
        "table-name": "TMP_%"
      }
    }
  ]
}
```

### 複数の明示的な手順を選択する (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-multi-explicit"></a>

1 つのドキュメントで複数の`explicit`ルールを使用して、特定のプロシージャセットを名前で選択します。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "PROC_A"
      }
    },
    {
      "rule-type": "selection",
      "rule-id": "2",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "PROC_B"
      }
    },
    {
      "rule-type": "selection",
      "rule-id": "3",
      "rule-name": "{{rule_name}}",
      "rule-action": "explicit",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "PROC_C"
      }
    }
  ]
}
```

### プレフィックスで含め、名前で除外 (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-include-exclude-proc"></a>

`include` ルールを使用して、名前が で始まるすべてのプロシージャを照合し`PROC_`、次にそのセット`PROC_TEST`から削除する `exclude` ルールを使用します。`exclude` ルールは `include`ルールに従う必要があります。スタンドアロン`exclude`は効果がありません。

```
{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "{{rule_name}}",
      "rule-action": "include",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "PROC_%"
      }
    },
    {
      "rule-type": "selection",
      "rule-id": "2",
      "rule-name": "{{rule_name}}",
      "rule-action": "exclude",
      "object-locator": {
        "server-name": "{{source_server}}",
        "database-name": "{{database_name}}",
        "schema-name": "dbo",
        "procedure-name": "PROC_TEST"
      }
    }
  ]
}
```