

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Aturan pemilihan dalam Konversi Skema DMS
<a name="sc-selection-rules"></a>

Konversi Skema DMS mengubah skema database dari satu mesin ke mesin lainnya. Anda menggunakan *aturan pemilihan* untuk mengontrol objek database mana Konversi Skema DMS bertindak selama operasi seperti penilaian, konversi, dan ekspor. Aturan seleksi adalah objek JSON yang Anda lewati `SelectionRules` parameter (atau `--selection-rules` di AWS CLI). Tanpa aturan seleksi, operasi tidak ada yang harus ditindaklanjuti. Dengan aturan, Anda dapat mencakup operasi ke satu objek, seluruh skema, seluruh database (untuk sumber Microsoft SQL Server dan SAP ASE (Sybase ASE)), atau sekelompok objek yang cocok dengan pola.

**catatan**  
Saat Anda menggunakan Konsol AWS Manajemen, Konversi Skema DMS akan membuat aturan pemilihan secara otomatis berdasarkan pilihan Anda di UI proyek migrasi. Anda hanya perlu menulis aturan pemilihan secara langsung saat menggunakan DMS Schema Conversion API atau CLI AWS .

Anda menggunakan bentuk aturan yang sama di sisi sumber dan target proyek migrasi. `server-name`Bidang di pencari objek menentukan apakah aturan menargetkan penyedia data sumber atau penyedia data target. Proyek migrasi tunggal biasanya menggunakan kedua jenis aturan: aturan sumber untuk penilaian dan konversi; aturan target untuk ekspor SQL.

## Format aturan pemilihan
<a name="dms-sc-selection-rule-format"></a>

Sebuah dokumen aturan seleksi adalah objek JSON dengan `rules` array tunggal. Setiap entri dalam array adalah satu aturan, dan setiap aturan harus berisi semua bidang berikut.


| Parameter | Nilai | Deskripsi | 
| --- | --- | --- | 
| rule-type | selection | Nilai yang mengidentifikasi jenis aturan. Untuk semua aturan pemilihan, atur ini keselection. Parameter yang diperlukan. | 
| rule-id | Nilai numerik (integer). | Pengidentifikasi numerik unik untuk aturan tersebut. Parameter yang diperlukan. | 
| rule-name | Nilai alfanumerik. | Nama unik untuk mengidentifikasi aturan. Parameter yang diperlukan. | 
| rule-action | explicit,include, atau exclude | Nilai yang menentukan bagaimana locator objek ditafsirkan. Lihat [Tindakan aturan](#dms-sc-selection-rule-actions). Parameter yang diperlukan. | 
| object-locator | Objek JSON yang berisi kunci pencari lokasi khusus mesin. | Objek yang mengidentifikasi objek database aturan berlaku untuk. Lihat [Hirarki pencari objek](#dms-sc-selection-rule-object-locator). Parameter yang diperlukan. | 

Contoh minimal berikut menargetkan satu skema pada server sumber.

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

**catatan**  
Saat menggunakan AWS CLI, Anda dapat melewati aturan pemilihan dengan cara berikut. Ini adalah fitur AWS CLI standar yang bekerja dengan parameter string apa pun.  
Inline: `--selection-rules '{"rules":[...]}'` (gunakan tanda kutip tunggal untuk menghindari lolos dari tanda kutip ganda JSON)
Jalur relatif: `--selection-rules file://example-rules.json`
Jalur absolut: `--selection-rules file:///tmp/example-rules.json`

Semua nilai bidang di dalamnya `object-locator` harus berupa string yang tidak kosong. String kosong (misalnya,`"schema-name": ""`) ditolak dengan kesalahan.

**catatan**  
`database-name`Kuncinya hanya berlaku untuk sumber Microsoft SQL Server dan SAP ASE (Sybase ASE). Mengirim `database-name` pencari lokasi untuk mesin sumber lain ditolak sebagai kunci yang tidak didukung.

## Aturan penulisan
<a name="dms-sc-writing-rules"></a>

### Hirarki pencari objek
<a name="dms-sc-selection-rule-object-locator"></a>

`object-locator`Mengidentifikasi satu atau lebih objek database melalui hierarki kunci khusus mesin. Setiap kunci mempersempit ruang lingkup; hilangkan kunci tingkat yang lebih rendah untuk memperluas cakupan. Hirarki tergantung pada mesin sumber:
+ **Microsoft SQL Server dan SAP ASE (Sybase ASE)** — kunci `server-name` ` → ` `database-name` ` → ` `schema-name` ` → ` tingkat objek (misalnya,). `table-name` Mesin ini memiliki `database-name` level ekstra antara server dan skema.
+ **Semua mesin lainnya** (Oracle, IBM Db2 untuk, dan semua mesin target: PostgreSQL z/OS, Aurora PostgreSQL, MySQL, Aurora MySQL, MySQL, dan IBM Db2 LUW) — kunci tingkat objek. `server-name` ` → ` `schema-name` ` → ` Mesin ini tidak memiliki `database-name` level; skema adalah wadah atas langsung di bawah`server-name`.

Contoh berikut memilih satu tabel Microsoft SQL Server tertentu.

```
{
  "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}}"
      }
    }
  ]
}
```

Untuk memperluas cakupan ke seluruh skema, hilangkan kunci tingkat daun. Aturan tersebut kemudian berlaku untuk semua jenis objek yang dapat dialamatkan dalam skema tersebut, termasuk tabel, tampilan, prosedur, fungsi, urutan, dan objek lain yang diekspos oleh mesin sumber.

```
{
  "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}}"
      }
    }
  ]
}
```

Kunci pencari lokasi yang dapat Anda gunakan bergantung pada sumber atau mesin target. Untuk referensi kunci lengkap per mesin, lihat[Kunci pencari objek berdasarkan basis data](#dms-sc-selection-rule-locator-keys).

### Aturan sumber dan aturan target
<a name="dms-sc-selection-rule-source-vs-target"></a>

Tidak ada `rule-type` bidang eksplisit yang menandai aturan sebagai “sumber” atau “target”. Anda mengontrol perbedaan sepenuhnya melalui `server-name` nilai dalam`object-locator`: jika `server-name` cocok dengan penyedia data **sumber** Anda, aturan menargetkan pohon metadata sumber; jika cocok dengan penyedia data **target** Anda, aturan menargetkan pohon metadata target.

Untuk `server-name` Anda dapat menggunakan salah satu:
+ Nilai **Nama Server** dikonfigurasi dalam penyedia data. Ini biasanya nama host atau alamat IP, tetapi harus sama dengan nilai yang disimpan di penyedia data dengan tepat — bukan nama DNS atau IP yang berbeda yang diselesaikan ke mesin yang sama.
+ **ID sumber daya** penyedia data — segmen terakhir dari ARN-nya (misalnya, jika ARN adalah`arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS`, ID sumber daya adalah). `EXAMPLEABCDEFGHIJKLMNOPQRS`

### Tindakan aturan
<a name="dms-sc-selection-rule-actions"></a>

Gunakan `rule-action` bidang untuk menentukan bagaimana Konversi Skema DMS menafsirkan nilai di dalam pencari objek. Anda dapat menggunakan wildcard hanya dengan `include` dan`exclude`.


| Nilai | Perilaku | Kapan menggunakannya | 
| --- | --- | --- | 
| `"include"` | Memilih semua objek yang namanya cocok dengan pola. Mendukung `%` (urutan nol atau lebih karakter) dan `_` (karakter tunggal apa pun) sebagai wildcard. Gunakan `[_]` untuk mencocokkan garis bawah literal dan `[%]` untuk mencocokkan karakter persen literal. | Gunakan untuk mencocokkan sekelompok objek dengan pola penamaan bersama. | 
| `"exclude"` | Menghapus objek dari set yang sudah dipilih oleh aturan sebelumnya. `include` `exclude`Aturan tanpa sebelumnya tidak `include` berpengaruh. | Gunakan untuk mengukir pengecualian dari yang lebih luas. `include` | 
| `"explicit"` | Memilih persis objek bernama. Setiap nilai locator, termasuk`schema-name`,`database-name`, dan kunci daun apa pun seperti `table-name` atau`scalar-function-name`, dicocokkan sebagai string literal. Karakter wildcard seperti`%`,, `_``[`, dan tidak `]` memiliki arti khusus di bawahnya`explicit`. | Gunakan ketika Anda tahu nama pasti dari setiap objek yang ingin Anda tindaklanjuti. | 

**catatan**  
Beberapa operasi hanya menerima `"explicit"` aturan dan tidak mendukung `"include"` atau`"exclude"`. Periksa [Referensi AWS API](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html) untuk operasi spesifik untuk mengonfirmasi tindakan aturan mana yang didukungnya.

## Referensi pencari objek
<a name="dms-sc-locator-reference"></a>

### Kunci pencari objek berdasarkan basis data
<a name="dms-sc-selection-rule-locator-keys"></a>

Tab berikut menunjukkan kunci locator untuk setiap database yang didukung.

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `database-name` | Database di server. | 
| `schema-name` | Skema dalam database. | 
| `table-name` | Sebuah tabel secara default, atau tampilan saat digunakan dengan`"table-type": "view"`. | 
| `table-type` | `"table"`(default) atau`"view"`. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `scalar-function-name` | Fungsi bernilai skalar. | 
| `table-valued-function-name` | Fungsi bernilai tabel. | 
| `inline-function-name` | Fungsi inline. | 
| `aggregate-function-name` | Fungsi agregat. | 
| `synonym-name` | Sebuah sinonim. | 
| `sequence-name` | Urutan. | 
| `type-name` | Sebuah tipe. | 
| `table-type-name` | Jenis tabel. | 
| `user-defined-type-name` | Tipe yang ditentukan pengguna. | 
| `xml-schema-collection-name` | Koleksi skema XML. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `schema-name` | Skema (pengguna Oracle). | 
| `table-name` | Sebuah tabel secara default, atau tampilan saat digunakan dengan`"table-type": "view"`. | 
| `table-type` | `"table"`(default) atau`"view"`. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `function-name` | Sebuah fungsi. | 
| `package-name` | Sebuah paket. | 
| `sequence-name` | Urutan. | 
| `synonym-name` | Sebuah sinonim. | 
| `type-name` | Tipe yang ditentukan pengguna. | 
| `materialized-view-name` | Pandangan yang terwujud. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `database-name` | Database di server. | 
| `schema-name` | Skema dalam database. | 
| `table-name` | Sebuah tabel secara default, atau tampilan saat digunakan dengan`"table-type": "view"`. | 
| `table-type` | `"table"`(default) atau`"view"`. | 
| `materialized-view-name` | Pandangan yang terwujud. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `scalar-function-name` | Fungsi bernilai skalar. | 
| `table-valued-function-name` | Fungsi bernilai tabel. | 
| `user-defined-type-name` | Tipe yang ditentukan pengguna. | 
| `default-name` | Default yang ditentukan pengguna. Hanya dapat dicapai melalui`Describe*`. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `schema-name` | Skema. | 
| `table-name` | Tabel atau tampilan; gunakan `table-type` untuk membedakan. | 
| `function-name` | Sebuah fungsi. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `sequence-name` | Urutan. | 
| `materialized-view-name` | Pandangan yang terwujud. | 
| `type-name` | Tipe yang ditentukan pengguna. | 
| `domain-name` | Sebuah domain. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `schema-name` | Skema. | 
| `table-name` | Tabel atau tampilan; gunakan `table-type` untuk membedakan. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `function-name` | Sebuah fungsi. | 
| `event-name` | Peristiwa. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `schema-name` | Skema. | 
| `table-name` | Tabel, tampilan, atau tabel sementara global; gunakan `table-type` untuk membedakan. | 
| `table-type` | `"table"`(default) atau`"view"`. | 
| `procedure-name` | Prosedur tersimpan atau prosedur eksternal. | 
| `function-name` | Sebuah fungsi (inline, skalar, bersumber, tabel, atau fungsi eksternal). | 
| `sequence-name` | Urutan. | 
| `alias-name` | Sebuah alias. Tidak ada model target PostgreSQL; gunakan dengan. `StartMetadataModelExportAsScript` `Origin: SOURCE` | 
| `mqtable-name` | Tabel kueri terwujud (MQT). Tidak ada model target PostgreSQL. | 
| `type-name` | Tipe yang ditentukan pengguna (tipe berbeda atau tipe terstruktur). Tidak ada model target PostgreSQL. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

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


| Key | Memilih | 
| --- | --- | 
| `server-name` | Server. | 
| `schema-name` | Skema. | 
| `table-name` | Tabel atau tampilan; gunakan `table-type` untuk membedakan. | 
| `procedure-name` | Prosedur yang disimpan. | 
| `function-name` | Fungsi (skalar, sumber, atau fungsi tabel). | 
| `sequence-name` | Urutan. | 
| `module-name` | Sebuah modul. | 
| `category-name` | Kelas objek. Gunakan untuk menargetkan seluruh kategori objek; lihat[Nama kategori berdasarkan mesin](#dms-sc-category-names). | 

------

## Nama kategori berdasarkan mesin
<a name="dms-sc-category-names"></a>

`category-name`Nilai dalam aturan seleksi menargetkan seluruh kelas objek daripada objek individu. Nama kategori khusus mesin dan peka huruf besar/kecil. Apakah operasi menerima `category-name` tergantung pada operasi — periksa [Referensi AWS API](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html) untuk operasi yang Anda gunakan. Tab di bawah ini mencakup mesin sumber dan target.

**penting**  
Mengirim nama kategori dari satu mesin ke proyek yang dikonfigurasi untuk mesin yang berbeda mengembalikan kesalahan. 

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

Nama kategori berikut berlaku untuk sumber Microsoft SQL Server.


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel dasar. | 
| `Views` | Tampilan. | 
| `Procedures` | Prosedur tersimpan. | 
| `SQL scalar functions` |  T-SQL Fungsi skalar. | 
| `SQL table-valued functions` | Multi-statement fungsi bernilai meja. | 
| `SQL inline functions` | Fungsi bernilai tabel sebaris. | 
| `Aggregate functions` | User-defined fungsi agregat. | 
| `Synonyms` | T-SQL sinonim. | 
| `Sequences` | Urutan objek. | 
| `Types` | Koleksi skema XHTML dan jenis kolom. | 
| `Table types` | Table-typed deklarasi parameter. | 
| `User-Defined Types` | Alias dan tipe yang ditentukan pengguna CLR. | 
| `XML Schema Collections` | Koleksi skema XML. | 

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

Nama kategori berikut berlaku untuk sumber Oracle.


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel. | 
| `External Tables` | Tabel eksternal. | 
| `Views` | Tampilan. | 
| `Packages` | PL/SQL spesifikasi paket dan badan. | 
| `Procedures` | Prosedur tersimpan. | 
| `Functions` | Semua fungsi pengguna, termasuk skalar dan pipelined. | 
| `User Defined Types` | Jenis objek. | 
| `Collection Types` | Jenis VARRAY dan tabel bersarang. | 
| `Sequences` | Urutan. | 
| `Materialized Views` | Pandangan terwujud. | 
| `Materialized View Logs` | Materialized-view ubah log. | 
| `Synonyms` | Sinonim publik dan pribadi. | 
| `Clusters` | Indeks dan klaster hash. | 
| `Database Links` | Tautan basis data. | 

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

Nama kategori berikut berlaku untuk sumber SAP ASE (Sybase ASE).


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel dasar. | 
| `Views` | Tampilan. | 
| `Procedures` | Prosedur tersimpan. | 
| `Scalar Functions` |  T-SQL Fungsi skalar. | 
| `Table Valued Functions` | Table-valued fungsi. | 
| `Materialized Views` | Pandangan terwujud. | 
| `User Defined Types` | Alias tipe yang ditentukan pengguna. | 
| `Defaults` | Objek default terikat. Describe-only; tidak dapat dikonversi secara independen. | 

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

Nama kategori berikut berlaku untuk target PostgreSQL dan Aurora PostgreSQL.


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel dasar. | 
| `Views` | Tampilan. | 
| `Functions` | Fungsi. | 
| `Procedures` | Prosedur tersimpan. | 
| `Sequences` | Urutan. | 
| `Materialized Views` | Pandangan terwujud. | 
| `Types` | User-defined jenis. | 
| `Domains` | Domain. | 

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

Nama kategori berikut berlaku untuk target MySQL dan Aurora MySQL.


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel dasar. | 
| `Views` | Tampilan. | 
| `Functions` | Fungsi. | 
| `Procedures` | Prosedur tersimpan. | 
| `Events` | Acara. | 

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

Nama kategori berikut berlaku untuk IBM Db2 untuk sumber. z/OS 


| Nilai `category-name` | Kunci pencari lokasi | Apa yang dikelompokkannya | 
| --- | --- | --- | 
| `Tables` | `table-name` \+ `"table-type": "table"` | Tabel dasar. | 
| `Global Temporary Tables` | `table-name` \+ `"table-type": "table"` | Tabel sementara global. Tidak ada model target PostgreSQL. | 
| `Materialized Query Tables` | `mqtable-name` | Tabel kueri terwujud (MQT). Tidak ada model target PostgreSQL. | 
| `Views` | `table-name` \+ `"table-type": "view"` | Tampilan. | 
| `Aliases` | `alias-name` | Alias. Tidak ada model target PostgreSQL. | 
| `Procedures` | `procedure-name` | Prosedur tersimpan. | 
| `Functions` | `function-name` | Semua sub-tipe fungsi: skalar, tabel, inline, bersumber. | 
| `Sequences` | `sequence-name` | Urutan. | 
| `User Defined Types` | `type-name` | Tipe yang berbeda dan tipe terstruktur. Tidak ada model target PostgreSQL. | 
| `External Routines` | `function-name` / `procedure-name` | Fungsi eksternal dan prosedur eksternal. | 

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

Nama kategori berikut berlaku untuk target IBM Db2 LUW.


| Nilai `category-name` | Apa yang dikelompokkannya | 
| --- | --- | 
| `Tables` | Tabel dasar. | 
| `Views` | Tampilan. | 
| `Functions` | Fungsi (skalar, bersumber, tabel). | 
| `Procedures` | Prosedur tersimpan. | 
| `Sequences` | Urutan. | 
| `Modules` | Modul. | 

------

## Contoh aturan seleksi
<a name="dms-sc-selection-rule-examples"></a>

Contoh berikut menunjukkan cara menulis aturan pemilihan untuk skenario migrasi umum. Setiap contoh menggunakan nilai `--selection-rules` parameter yang akan Anda berikan ke operasi API Konversi Skema DMS seperti `StartMetadataModelConversion` atau. `StartMetadataModelAssessment`

### Pilih satu tabel (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-single-table"></a>

Pilih satu tabel tertentu untuk konversi dari sumber Microsoft SQL Server. Microsoft SQL Server membutuhkan `database-name` tambahan untuk`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}}"
      }
    }
  ]
}
```

### Pilih seluruh skema (Oracle)
<a name="dms-sc-selection-rule-example-whole-schema"></a>

Pilih semua objek dalam skema Oracle dengan menghilangkan kunci tingkat objek. Oracle tidak memiliki `database-name` level; skema adalah wadah teratas di bawah. `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}}"
      }
    }
  ]
}
```

### Pilih tampilan (Oracle)
<a name="dms-sc-selection-rule-example-view"></a>

Tampilan Oracle ditangani menggunakan `table-name` dengan`"table-type": "view"`. Tidak ada `view-name` kunci terpisah.

```
{
  "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"
      }
    }
  ]
}
```

### Pilih prosedur yang disimpan (IBM Db2 untuk) z/OS
<a name="dms-sc-selection-rule-example-procedure-db2"></a>

Pilih satu prosedur tersimpan tertentu dari IBM Db2 untuk sumber. z/OS IBM Db2 untuk z/OS penggunaan `procedure-name` dan langsung dari `server-name` ke `schema-name` tanpa level. `database-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}}"
      }
    }
  ]
}
```

### Pilih semua prosedur dalam skema (SAP ASE)
<a name="dms-sc-selection-rule-example-all-procedures"></a>

Pilih setiap prosedur dalam skema SAP ASE (Sybase ASE) dengan menggunakan `%` sebagai wildcard untuk. `procedure-name` SAP ASE (Sybase ASE) membutuhkan `database-name` antara `server-name` dan. `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": "%"
      }
    }
  ]
}
```

### Pilih tabel dengan pola wildcard (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-wildcard"></a>

Gunakan `%` untuk mencocokkan beberapa tabel dengan awalan. Contoh ini memilih semua tabel yang namanya dimulai dengan`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_%"
      }
    }
  ]
}
```

### Sertakan skema dan kecualikan objek dengan awalan (Oracle)
<a name="dms-sc-selection-rule-example-include-exclude"></a>

Sertakan semua objek dalam skema Oracle, lalu kecualikan tabel apa pun yang namanya dimulai. `TMP_` Aturan dievaluasi secara `rule-id` berurutan; `exclude` diutamakan saat cocok.

```
{
  "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_%"
      }
    }
  ]
}
```

### Pilih beberapa prosedur eksplisit (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-multi-explicit"></a>

Gunakan beberapa `explicit` aturan dalam satu dokumen untuk memilih serangkaian prosedur tertentu berdasarkan nama.

```
{
  "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"
      }
    }
  ]
}
```

### Sertakan dengan awalan, kecualikan dengan nama (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-include-exclude-proc"></a>

Gunakan `include` aturan untuk mencocokkan setiap prosedur yang namanya dimulai`PROC_`, lalu `exclude` aturan untuk dihapus `PROC_TEST` dari set itu. `exclude`Aturan harus mengikuti `include` aturan; standalone tidak `exclude` berpengaruh.

```
{
  "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"
      }
    }
  ]
}
```