

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Reglas de selección en la conversión de esquemas de DMS
<a name="sc-selection-rules"></a>

La conversión de esquemas de DMS convierte los esquemas de bases de datos de un motor a otro. *Las reglas de selección* se utilizan para controlar los objetos de la base de datos sobre los que actúa la conversión de esquemas de DMS durante operaciones como la evaluación, la conversión y la exportación. Una regla de selección es un objeto JSON que se pasa a través del `SelectionRules` parámetro (o `--selection-rules` en la AWS CLI). Sin una regla de selección, una operación no tiene nada sobre lo que actuar. Con una regla, puede limitar la operación a un solo objeto, un esquema completo, una base de datos completa (para fuentes de Microsoft SQL Server y SAP ASE (Sybase ASE)) o un grupo de objetos que coincidan con un patrón.

**nota**  
Cuando utiliza la consola de AWS administración, DMS Schema Conversion crea reglas de selección automáticamente en función de las elecciones que haya realizado en la interfaz de usuario del proyecto de migración. Solo necesita escribir las reglas de selección directamente cuando utilice la API o AWS CLI de conversión de esquemas de DMS.

Se usa la misma forma de regla tanto en el lado de origen como en el de destino de un proyecto de migración. El `server-name` campo del localizador de objetos especifica si la regla se dirige al proveedor de datos de origen o al proveedor de datos de destino. Un único proyecto de migración suele utilizar ambos tipos de reglas: reglas de origen para la evaluación y la conversión y reglas de destino para la exportación de SQL.

## Formato de reglas de selección
<a name="dms-sc-selection-rule-format"></a>

Un documento de reglas de selección es un objeto JSON con una sola `rules` matriz. Cada entrada de la matriz es una regla y cada regla debe contener todos los campos siguientes.


| Parámetro | Valor | Description (Descripción) | 
| --- | --- | --- | 
| rule-type | selection | Un valor que identifica el tipo de regla. Para todas las reglas de selección, establézcalo enselection. Parámetro necesario. | 
| rule-id | Un valor numérico (entero). | Un identificador numérico único para la regla. Parámetro necesario. | 
| rule-name | Un valor alfanumérico. | Un nombre exclusivo para identificar la regla. Parámetro necesario. | 
| rule-action | explicit, include o exclude | Un valor que determina cómo se interpreta el localizador de objetos. Consulte [Acciones de reglas](#dms-sc-selection-rule-actions). Parámetro necesario. | 
| object-locator | Un objeto JSON que contiene claves de localización específicas del motor. | Un objeto que identifica los objetos de la base de datos a los que se aplica la regla. Consulte [Jerarquía de localizadores de objetos](#dms-sc-selection-rule-object-locator). Parámetro necesario. | 

El siguiente ejemplo mínimo se dirige a un esquema de un servidor de origen.

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

**nota**  
Al utilizar la AWS CLI, puede pasar las reglas de selección de las siguientes maneras. Se trata de una función AWS CLI estándar que funciona con cualquier parámetro de cadena.  
En línea: `--selection-rules '{"rules":[...]}'` (utilice comillas simples para evitar escapar de las comillas dobles de JSON)
Ruta relativa: `--selection-rules file://example-rules.json`
Ruta absoluta: `--selection-rules file:///tmp/example-rules.json`

Todos los valores de campo incluidos `object-locator` deben ser cadenas no vacías. Una cadena vacía (por ejemplo,`"schema-name": ""`) se rechaza con el error.

**nota**  
La `database-name` clave solo es válida para fuentes de Microsoft SQL Server y SAP ASE (Sybase ASE). El envío `database-name` de un localizador para cualquier otro motor de origen se rechaza por ser una clave no compatible.

## Reglas de escritura
<a name="dms-sc-writing-rules"></a>

### Jerarquía de localizadores de objetos
<a name="dms-sc-selection-rule-object-locator"></a>

`object-locator`Identifica uno o más objetos de la base de datos mediante una jerarquía de claves específicas del motor. Cada clave reduce el alcance; omita una clave de nivel inferior para ampliarlo. La jerarquía depende del motor de origen:
+ **Microsoft SQL Server y SAP ASE (Sybase ASE)**: clave de `server-name` ` → ` `database-name` ` → ` `schema-name` ` → ` nivel de objeto (por ejemplo,). `table-name` Estos motores tienen un `database-name` nivel adicional entre el servidor y el esquema.
+ **Todos los demás motores** (Oracle, IBM Db2 for y todos los motores de destino: PostgreSQL z/OS, Aurora PostgreSQL, MySQL, Aurora MySQL e IBM Db2 LUW): clave a nivel de objeto. `server-name` ` → ` `schema-name` ` → ` Estos motores no tienen ningún `database-name` nivel; el esquema es el contenedor superior situado justo debajo. `server-name`

En el siguiente ejemplo, se selecciona una tabla específica de Microsoft SQL Server.

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

Para ampliar el ámbito a todo el esquema, omita la clave de nivel de hoja. Luego, la regla se aplica a todos los tipos de objetos direccionables de ese esquema, incluidas las tablas, las vistas, los procedimientos, las funciones, las secuencias y cualquier otro objeto que exponga el motor de origen.

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

Las claves de localización que puede utilizar dependen del motor de origen o de destino. Para obtener la referencia clave completa por motor, consulte[Claves localizadoras de objetos por base de datos](#dms-sc-selection-rule-locator-keys).

### Reglas de origen y reglas de destino
<a name="dms-sc-selection-rule-source-vs-target"></a>

Ningún `rule-type` campo explícito marca una regla como «origen» o «destino». La distinción se controla completamente mediante el `server-name` valor del `object-locator` siguiente: si `server-name` coincide con su proveedor de datos de **origen**, la regla se dirige al árbol de metadatos de origen; si coincide con su proveedor de datos de **destino**, la regla se dirige al árbol de metadatos de destino.

Pues `server-name` puede utilizar cualquiera de las siguientes opciones:
+ El valor **del nombre del servidor** configurado en el proveedor de datos. Suele ser un nombre de host o una dirección IP, pero debe coincidir exactamente con el valor almacenado en el proveedor de datos, no con un nombre de DNS o una dirección IP diferentes que se dirijan a la misma máquina.
+ El **ID de recurso** del proveedor de datos: el último segmento de su ARN (por ejemplo, si el ARN es`arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS`, el ID del recurso es). `EXAMPLEABCDEFGHIJKLMNOPQRS`

### Acciones de reglas
<a name="dms-sc-selection-rule-actions"></a>

Utilice el `rule-action` campo para especificar cómo DMS Schema Conversion interpreta los valores del localizador de objetos. Solo puede utilizar caracteres comodín con y. `include` `exclude`


| Valor | Comportamiento | Cuándo se debe usar | 
| --- | --- | --- | 
| `"include"` | Selecciona todos los objetos cuyos nombres coincidan con el patrón. Admite `%` (cualquier secuencia de cero o más caracteres) y `_` (cualquier carácter único) como caracteres comodín. Se utiliza `[_]` para hacer coincidir un carácter de subrayado literal y `[%]` un carácter porcentual literal. | Se utiliza para hacer coincidir un grupo de objetos con un patrón de nomenclatura compartido. | 
| `"exclude"` | Elimina los objetos del conjunto ya seleccionado por `include` las reglas anteriores. Una `exclude` regla sin precedentes no `include` tiene ningún efecto. | Se utiliza para separar las excepciones de una forma más amplia`include`. | 
| `"explicit"` | Selecciona exactamente el objeto nombrado. Todos los valores del localizador `schema-name``database-name`, incluidas las claves de hoja, como `table-name` o`scalar-function-name`, se comparan como una cadena literal. Caracteres comodín como`%`, `_``[`, y debajo no `]` tienen ningún significado especial. `explicit` | Úsalos cuando sepas el nombre exacto de cada objeto sobre el que quieras actuar. | 

**nota**  
Algunas operaciones solo aceptan `"explicit"` reglas y no admiten `"include"` o`"exclude"`. Consulta la [referencia de la AWS API](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html) de la operación específica para confirmar qué acciones de regla admite.

## Referencia del localizador de objetos
<a name="dms-sc-locator-reference"></a>

### Claves localizadoras de objetos por base de datos
<a name="dms-sc-selection-rule-locator-keys"></a>

Las siguientes pestañas muestran las claves de localización de cada base de datos compatible.

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `database-name` | Una base de datos en el servidor. | 
| `schema-name` | Un esquema dentro de la base de datos. | 
| `table-name` | Una tabla por defecto, o una vista cuando se usa con`"table-type": "view"`. | 
| `table-type` | `"table"`(predeterminado) o`"view"`. | 
| `procedure-name` | Un procedimiento almacenado. | 
| `scalar-function-name` | Una función con valores escalares. | 
| `table-valued-function-name` | Una función con valores de tabla. | 
| `inline-function-name` | Una función en línea. | 
| `aggregate-function-name` | Una función agregada. | 
| `synonym-name` | Un sinónimo. | 
| `sequence-name` | Una secuencia. | 
| `type-name` | Un tipo. | 
| `table-type-name` | Un tipo de mesa. | 
| `user-defined-type-name` | Un tipo definido por el usuario. | 
| `xml-schema-collection-name` | Una colección de esquemas XML. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `schema-name` | Un esquema (usuario de Oracle). | 
| `table-name` | Una tabla por defecto o una vista cuando se usa con`"table-type": "view"`. | 
| `table-type` | `"table"`(predeterminado) o`"view"`. | 
| `procedure-name` | Un procedimiento almacenado. | 
| `function-name` | Una función de . | 
| `package-name` | Un paquete. | 
| `sequence-name` | Una secuencia. | 
| `synonym-name` | Un sinónimo. | 
| `type-name` | Un tipo definido por el usuario. | 
| `materialized-view-name` | Una vista materializada. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `database-name` | Una base de datos en el servidor. | 
| `schema-name` | Un esquema dentro de la base de datos. | 
| `table-name` | Una tabla por defecto, o una vista cuando se usa con`"table-type": "view"`. | 
| `table-type` | `"table"`(predeterminado) o`"view"`. | 
| `materialized-view-name` | Una vista materializada. | 
| `procedure-name` | Un procedimiento almacenado. | 
| `scalar-function-name` | Una función con valores escalares. | 
| `table-valued-function-name` | Una función con valores de tabla. | 
| `user-defined-type-name` | Un tipo definido por el usuario. | 
| `default-name` | Un valor predeterminado definido por el usuario. Accesible solo a través de`Describe*`. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `schema-name` | Un esquema. | 
| `table-name` | Una tabla o una vista; se usa `table-type` para distinguir. | 
| `function-name` | Una función de . | 
| `procedure-name` | Un procedimiento almacenado. | 
| `sequence-name` | Una secuencia. | 
| `materialized-view-name` | Una vista materializada. | 
| `type-name` | Un tipo definido por el usuario. | 
| `domain-name` | Un dominio. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `schema-name` | Un esquema. | 
| `table-name` | Una tabla o una vista; se usa `table-type` para distinguir. | 
| `procedure-name` | Un procedimiento almacenado. | 
| `function-name` | Una función de . | 
| `event-name` | Un evento. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `schema-name` | Un esquema. | 
| `table-name` | Una tabla, vista o tabla temporal global; se usa `table-type` para distinguir. | 
| `table-type` | `"table"`(predeterminado) o`"view"`. | 
| `procedure-name` | Un procedimiento almacenado o un procedimiento externo. | 
| `function-name` | Una función (función en línea, escalar, de origen, de tabla o externa). | 
| `sequence-name` | Una secuencia. | 
| `alias-name` | Un alias. Sin modelo de destino PostgreSQL; úselo con. `StartMetadataModelExportAsScript` `Origin: SOURCE` | 
| `mqtable-name` | Una tabla de consultas materializadas (MQT). No hay un modelo de destino para PostgreSQL. | 
| `type-name` | Un tipo definido por el usuario (tipo distinto o tipo estructurado). No hay un modelo de destino para PostgreSQL. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

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


| Key | Selecciona | 
| --- | --- | 
| `server-name` | El servidor. | 
| `schema-name` | Un esquema. | 
| `table-name` | Una tabla o una vista; se usa `table-type` para distinguir. | 
| `procedure-name` | Un procedimiento almacenado. | 
| `function-name` | Una función (función escalar, de origen o de tabla). | 
| `sequence-name` | Una secuencia. | 
| `module-name` | Un módulo. | 
| `category-name` | Una clase de objeto. Se utiliza para seleccionar una categoría completa de objetos; consulte[Nombres de categorías por motor](#dms-sc-category-names). | 

------

## Nombres de categorías por motor
<a name="dms-sc-category-names"></a>

El `category-name` valor de una regla de selección se dirige a toda una clase de objetos y no a objetos individuales. Los nombres de las categorías son específicos del motor y distinguen mayúsculas de minúsculas. La aceptación de una operación `category-name` depende de la operación; consulta la [referencia de la AWS API](https://docs.aws.amazon.com/dms/latest/APIReference/API_Operations.html) para la operación que estés utilizando. Las pestañas siguientes cubren los motores de origen y destino.

**importante**  
Al enviar el nombre de una categoría desde un motor a un proyecto configurado para un motor diferente, se produce un error. 

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

Los siguientes nombres de categorías se aplican a las fuentes de Microsoft SQL Server.


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Tablas base. | 
| `Views` | Vistas. | 
| `Procedures` | Procedimientos almacenados. | 
| `SQL scalar functions` |  T-SQL Funciones escalares. | 
| `SQL table-valued functions` | Multi-statement funciones con valores de tabla. | 
| `SQL inline functions` | Funciones con valores de tabla en línea. | 
| `Aggregate functions` | User-defined funciones de agregación. | 
| `Synonyms` | T-SQL sinónimos. | 
| `Sequences` | Secuenciar objetos. | 
| `Types` | Colecciones de esquemas XML y tipos de columnas. | 
| `Table types` | Table-typed declaraciones de parámetros. | 
| `User-Defined Types` | Tipos de alias y CLR definidos por el usuario. | 
| `XML Schema Collections` | Colecciones de esquemas XML. | 

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

Los siguientes nombres de categorías se aplican a las fuentes de Oracle.


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Mesas. | 
| `External Tables` | Tablas externas. | 
| `Views` | Vistas. | 
| `Packages` | PL/SQL especificaciones y cuerpos del paquete. | 
| `Procedures` | Procedimientos almacenados. | 
| `Functions` | Todas las funciones de usuario, incluidas las escalares y las canalizadas. | 
| `User Defined Types` | Tipos de objetos. | 
| `Collection Types` | Tipos VARRAY y mesas anidadas. | 
| `Sequences` | Secuencias. | 
| `Materialized Views` | Vistas materializadas. | 
| `Materialized View Logs` | Materialized-view registros de cambios. | 
| `Synonyms` | Sinónimos públicos y privados. | 
| `Clusters` | Clústeres de índices y hash. | 
| `Database Links` | Enlaces a bases de datos. | 

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

Los siguientes nombres de categorías se aplican a las fuentes de SAP ASE (Sybase ASE).


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Tablas base. | 
| `Views` | Vistas. | 
| `Procedures` | Procedimientos almacenados. | 
| `Scalar Functions` |  T-SQL Funciones escalares. | 
| `Table Valued Functions` | Table-valued funciones. | 
| `Materialized Views` | Vistas materializadas. | 
| `User Defined Types` | Tipos de alias definidos por el usuario. | 
| `Defaults` | Objetos predeterminados enlazados. Describe-only; no se puede convertir de forma independiente. | 

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

Los siguientes nombres de categorías se aplican a los destinos de PostgreSQL y Aurora PostgreSQL.


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Tablas base. | 
| `Views` | Vistas. | 
| `Functions` | Funciones. | 
| `Procedures` | Procedimientos almacenados. | 
| `Sequences` | Secuencias. | 
| `Materialized Views` | Vistas materializadas. | 
| `Types` | User-defined tipos. | 
| `Domains` | Dominios. | 

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

Los siguientes nombres de categorías se aplican a los destinos MySQL y Aurora MySQL.


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Tablas base. | 
| `Views` | Vistas. | 
| `Functions` | Funciones. | 
| `Procedures` | Procedimientos almacenados. | 
| `Events` | Eventos. | 

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

Los siguientes nombres de categorías se aplican a IBM Db2 para z/OS fuentes.


| Valor de `category-name` | Clave de localización | Qué agrupa | 
| --- | --- | --- | 
| `Tables` | `table-name` \+ `"table-type": "table"` | Tablas base. | 
| `Global Temporary Tables` | `table-name` \+ `"table-type": "table"` | Tablas temporales globales. No hay un modelo de destino para PostgreSQL. | 
| `Materialized Query Tables` | `mqtable-name` | Tablas de consultas materializadas (MQT). No hay un modelo de destino para PostgreSQL. | 
| `Views` | `table-name` \+ `"table-type": "view"` | Vistas. | 
| `Aliases` | `alias-name` | Alias. No hay un modelo de destino para PostgreSQL. | 
| `Procedures` | `procedure-name` | Procedimientos almacenados. | 
| `Functions` | `function-name` | Todos los subtipos de funciones: escalar, de tabla, en línea, de origen. | 
| `Sequences` | `sequence-name` | Secuencias. | 
| `User Defined Types` | `type-name` | Tipos distintos y tipos estructurados. No hay un modelo de destino para PostgreSQL. | 
| `External Routines` | `function-name` / `procedure-name` | Funciones y procedimientos externos. | 

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

Los siguientes nombres de categorías se aplican a los objetivos LUW de IBM Db2.


| Valor de `category-name` | Qué agrupa | 
| --- | --- | 
| `Tables` | Tablas base. | 
| `Views` | Vistas. | 
| `Functions` | Funciones (escalares, de origen, de tabla). | 
| `Procedures` | Procedimientos almacenados. | 
| `Sequences` | Secuencias. | 
| `Modules` | Módulos. | 

------

## Ejemplos de reglas de selección
<a name="dms-sc-selection-rule-examples"></a>

Los siguientes ejemplos muestran cómo escribir reglas de selección para escenarios de migración comunes. Cada ejemplo utiliza el valor del `--selection-rules` parámetro que se transferiría a las operaciones de la API de conversión de esquemas de DMS, como `StartMetadataModelConversion` o`StartMetadataModelAssessment`.

### Seleccione una sola tabla (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-single-table"></a>

Seleccione una tabla específica para la conversión desde una fuente de Microsoft SQL Server. Microsoft SQL Server requiere `database-name` además de`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}}"
      }
    }
  ]
}
```

### Seleccione un esquema completo (Oracle)
<a name="dms-sc-selection-rule-example-whole-schema"></a>

Seleccione todos los objetos de un esquema de Oracle omitiendo la clave de nivel de objeto. Oracle no tiene ningún `database-name` nivel; el esquema es el contenedor superior inferior. `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}}"
      }
    }
  ]
}
```

### Seleccione una vista (Oracle)
<a name="dms-sc-selection-rule-example-view"></a>

Las vistas de Oracle se abordan `table-name` con`"table-type": "view"`. No hay una `view-name` clave separada.

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

### Seleccione un procedimiento almacenado (IBM Db2 para z/OS)
<a name="dms-sc-selection-rule-example-procedure-db2"></a>

Seleccione un procedimiento almacenado específico de un IBM Db2 como fuente. z/OS Se z/OS utiliza IBM Db2 `procedure-name` y pasa directamente de un nivel `server-name` a otro `schema-name` sin `database-name` nivel.

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

### Seleccione todos los procedimientos de un esquema (SAP ASE)
<a name="dms-sc-selection-rule-example-all-procedures"></a>

Seleccione todos los procedimientos de un esquema de SAP ASE (Sybase ASE) utilizándolos `%` como comodín para. `procedure-name` SAP ASE (Sybase ASE) requiere `database-name` entre y. `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": "%"
      }
    }
  ]
}
```

### Seleccionar tablas por patrón comodín (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-wildcard"></a>

Se utiliza `%` para hacer coincidir varias tablas por prefijo. En este ejemplo se seleccionan todas las tablas cuyos nombres comiencen por. `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_%"
      }
    }
  ]
}
```

### Incluya un esquema y excluya los objetos por prefijo (Oracle)
<a name="dms-sc-selection-rule-example-include-exclude"></a>

Incluya todos los objetos en un esquema de Oracle y, a continuación, excluya las tablas cuyos nombres comiencen por. `TMP_` Las reglas se evalúan en `rule-id` orden; tienen `exclude` prioridad cuando coinciden.

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

### Seleccionar varios procedimientos explícitos (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-multi-explicit"></a>

Utilice varias `explicit` reglas en un solo documento para seleccionar un conjunto específico de procedimientos por nombre.

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

### Incluir por prefijo, excluir por nombre (Microsoft SQL Server)
<a name="dms-sc-selection-rule-example-include-exclude-proc"></a>

Utilice una `include` regla para hacer coincidir todos los procedimientos cuyo nombre comience por y`PROC_`, a continuación, una `exclude` regla para eliminarlos `PROC_TEST` de ese conjunto. Una `exclude` regla debe seguir una `include` regla; una regla independiente no `exclude` tiene ningún efecto.

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