Optimizar los filtros de fila con parámetros

Se aplica a:SQL Server

En este tema se describe cómo optimizar filtros de fila con parámetros en SQL Server mediante SQL Server Management Studio o Transact-SQL.

En este tema

Antes de empezar

Recomendaciones

  • Al usar los filtros con parámetros, puede controlar cómo se procesan los filtros por la replicación de mezcla especificando la opción use partition groups o la opción keep partition changes al crear una publicación. Estas opciones mejoran el rendimiento de la sincronización para las publicaciones con artículos filtrados almacenando los metadatos adicionales en la base de datos de publicación. Puede controlar cómo se comparten los datos entre los Suscriptores estableciendo partition options al crear un artículo. Para obtener más información acerca de estos requisitos, vea Parameterized Row Filters.

    Con suscriptores de SQL Server Compact, keep_partition_changes se debe establecer en true para asegurarse de que las eliminaciones se propagan correctamente. Si se establece en false, el suscriptor puede tener más filas de las esperadas.

Uso de SQL Server Management Studio

Para optimizar los filtros de fila con parámetros se puede utilizar la siguiente configuración:

Partition Options
Establezca esta opción en la página Propiedades del cuadro de diálogo Propiedades del artículo: <Artículo> o en el cuadro de diálogo Agregar filtro. Los dos cuadros de diálogo están disponibles en el Asistente para nueva publicación y en el cuadro de diálogo Propiedades de la publicación: <Publicación>. El cuadro de diálogo Propiedades del artículo: <Artículo> le permite especificar valores adicionales para esta opción que no están disponibles en el cuadro de diálogo Agregar filtro.

Calcular particiones previamente
Esta opción se establece en True de forma predeterminada si los artículos de la publicación cumplen un conjunto de requisitos. Para obtener más información sobre estos requisitos, vea Optimizar el rendimiento de los filtros con parámetros con particiones calculadas previamente. Modifique esta opción en la página Opciones de suscripción del cuadro de diálogo Propiedades de la publicación: <Publicación>.

Optimizar sincronización
Esta opción debe establecerse en True solamente si Calcular particiones previamente se establece en False. Establezca esta opción en la página Opciones de suscripción del cuadro de diálogo Propiedades de la publicación: <Publicación>.

Para obtener más información sobre el uso del Asistente para nueva publicación y el acceso al cuadro de diálogo Propiedades de la publicación: <Publicación>, consulte Crear una publicación y Ver y modificar propiedades de publicación.

Para establecer opciones de partición en el cuadro de diálogo Agregar filtro o Editar filtro

  1. En la página Filtrar filas de tabla del Asistente para nueva publicación o la página Filtrar filas del cuadro de diálogo Propiedades de la publicación: <Publicación>, haga clic en Agregar y, a continuación, en Agregar filtro.

  2. Cree un filtro con parámetros. Para más información, consulte Definir y modificar un filtro de fila con parámetros para un artículo de mezcla.

  3. Seleccione la opción que indique cómo se van a compartir los datos entre los suscriptores:

    • Una fila de esta tabla irá a varias suscripciones

    • Una fila de esta tabla irá a una sola suscripción

    Si selecciona Una fila de esta tabla irá a una sola suscripción, la replicación de mezcla puede optimizar el rendimiento almacenando y procesando menos metadatos. No obstante, debe asegurarse de que los datos se particionan de forma que una fila no se pueda replicar en más de un suscriptor. Para obtener más información, vea la sección sobre cómo configurar opciones de partición en el tema Parameterized Row Filters.

  4. Seleccione Aceptar.

  5. Si se encuentra en el cuadro de diálogo Propiedades de la publicación: <Publicación>, haga clic en Aceptar para guardar y cerrar el cuadro de diálogo.

Para establecer Opciones de partición en el cuadro de diálogo Propiedades del artículo: <Artículo>

  1. En la página Artículos del Asistente para nueva publicación o en el cuadro de diálogo Propiedades de la publicación: <Publicación>, seleccione una tabla y, a continuación, haga clic en Propiedades del artículo.

  2. Haga clic en Establecer propiedades del artículo de Tabla resaltado o Establecer propiedades de todos los artículos de la tabla.

  3. En la sección Objeto de destino de la pestaña Propiedades del cuadro de diálogo Propiedades del artículo: <Artículo>, especifique uno de los siguientes valores para Opciones de partición:

    • Superpuestas

    • Superpuestas, no permitir cambios de datos fuera de la partición

    • No superpuestas, una sola suscripción

    • No superpuestas, compartir entre suscripciones

    Para obtener más información acerca de estas opciones y cómo se relacionan con las opciones disponibles en los cuadros de diálogo Agregar filtro y Editar filtro , vea la sección sobre cómo establecer opciones de partición en el tema Parameterized Row Filters.

  4. Seleccione Aceptar.

  5. Si se encuentra en el cuadro de diálogo Propiedades de la publicación: <Publicación>, haga clic en Aceptar para guardar y cerrar el cuadro de diálogo.

Para establecer Calcular particiones previamente

  1. En la página Opciones de suscripción del cuadro de diálogo Propiedades de la publicación: <Publicación>, seleccione un valor para la opción Calcular particiones previamente. La propiedad es de solo lectura si:

    • La publicación no cumple los requisitos de las particiones precalculadas.

    • No se ha generado una instantánea para la publicación. En este caso, la opción muestra el valor Establecer automáticamente cuando se crea una instantánea.

  2. Seleccione Aceptar.

Para establecer Optimizar sincronización

  1. En la página Opciones de suscripción del cuadro de diálogo Propiedades de la publicación: <Publicación>, seleccione un valor de True para la opción Optimizar la sincronización.

  2. Seleccione Aceptar.

Usar Transact-SQL

Para las definiciones de las opciones de filtrado para @keep_partition_changes y @use_partition_groups, vea sp_addmergepublication.

Para especificar las optimizaciones de filtro de mezcla al crear una nueva publicación

  1. En la base de datos de publicación del publicador, ejecute sp_addmergepublication. Especifique @publication y un valor de true para uno de los parámetros siguientes:

  2. Agregue un trabajo de instantánea para la publicación. Para obtener más información, consulte Create a Publication.

  3. En el publicador de la base de datos de publicación, ejecute sp_addmergearticley especifique los siguientes parámetros:

    • @publication: el nombre de la publicación del paso 1.

    • @article: un nombre para el artículo.

    • @source_object: el objeto de base de datos que se va a publicar.

    • @subset_filterclause: la cláusula de filtro con parámetros opcional que se usa para filtrar horizontalmente el artículo.

    • @partition_options: las opciones de partición para el artículo filtrado.

  4. Repita el paso 3 para cada artículo de la publicación.

  5. (Opcional) En la base de datos de publicación del publicador, ejecute sp_addmergefilter para definir un filtro de combinación entre dos artículos. Para obtener más información, consulte Definir y modificar un filtro de combinación entre artículos de mezcla.

Para ver y modificar los comportamientos de filtro de mezcla para una publicación existente

  1. (Opcional) En la base de datos de publicación del publicador, ejecute sp_helpmergepublication y especifique @publication. Observe el valor de keep_partition_changes y use_partition_groups en el conjunto de resultados.

  2. (Opcional) En la base de datos de publicación del publicador, ejecute sp_changemergepublication. Especifique un valor de use_partition_groups para @property y true o false para @value.

  3. (Opcional) En la base de datos de publicación del publicador, ejecute sp_changemergepublication. Especifique un valor de keep_partition_changes para @property y true o false para @value.

    Nota:

    Al habilitar keep_partition_changes, primero debe deshabilitar use_partition_groups y especificar un valor de 1 para @force_reinit_subscription.

  4. (Opcional) En la base de datos de publicación del publicador, ejecute sp_changemergearticle. Especifique un valor de partition_options para @property y el valor adecuado para @value. Vea sp_addmergearticle para las definiciones de estas opciones de filtrado.

  5. (Opcional) Inicie el Agente de instantáneas para regenerar la instantánea si es necesario. Para obtener información sobre qué cambios exigen la generación de una nueva instantánea, vea Cambiar las propiedades de la publicación y de los artículos.

Consulte también

Generar automáticamente un conjunto de filtros de combinación entre artículos de mezcla (SQL Server Management Studio)
Definir y modificar un filtro de fila con parámetros para un artículo de mezcla
Filtros de fila con parámetros