Administrar particiones para una publicación de mezcla mediante filtros con parámetros

Se aplica a:SQL Server

En este tema se describe cómo administrar particiones para una publicación de combinación con filtros con parámetros en SQL Server mediante SQL Server Management Studio, Transact-SQL o Replication Management Objects (RMO). Los filtros de fila con parámetros se puede utilizar para generar particiones no superpuestas. Estas particiones pueden estar restringidas para que solo una suscripción reciba una partición determinada. En estos casos, un número grande de suscriptores producirá un número de particiones grande, las cuales a su vez requieren un número igual de instantánea con particiones. Para obtener más información, consulte Filtros de fila con parámetros.

En este tema

Antes de empezar

Recomendaciones

  • Si genera un script para una topología de replicación (opción recomendada), los scripts de la publicación contienen las llamadas al procedimiento almacenado para crear particiones de datos. El script proporciona una referencia para las particiones creadas y una forma de volver a crear una o más divisiones en caso necesario. Para más información, consulte Scripting Replication.

  • Cuando una publicación ha parametrizado filtros que producen suscripciones con particiones no superpuestas, y si una suscripción determinada se pierde y necesita volverse a crear, debe realizar las siguientes acciones: quitar la partición a la que se suscribió, volver a crear la suscripción y, a continuación, volver a crear la partición. Para obtener más información, consulte Filtros de fila con parámetros. La replicación genera scripts de creación para particiones del suscriptor existentes cuando se genera un script de creación de publicación. Para más información, consulte Scripting Replication.

Uso de SQL Server Management Studio

Administre las particiones en la página Particiones de datos del cuadro de diálogo Propiedades de la publicación: <Publicación>. Para obtener más información sobre el acceso a este cuadro de diálogo, vea View and Modify Publication Properties. En esta página puede crear y eliminar particiones, permitir a los suscriptores iniciar la generación y distribución de instantáneas, generar instantáneas para una o más particiones, y limpiar instantáneas.

Para crear una partición

  1. En la página Particiones de datos del cuadro de diálogo Propiedades de la publicación: <Publicación>, haga clic en Agregar.

  2. En el cuadro de diálogo Agregar partición de datos , escriba valores para HOST_NAME() y/o SUSER_SNAME() asociados con la partición que desea crear.

  3. También puede especificar una programación para actualizar las instantáneas:

    1. Seleccione Programar el Agente de instantáneas para que esta partición se ejecute a las horas siguientes.

    2. Acepte la programación predeterminada para actualizar instantáneas o haga clic en Cambiar para especificar una programación diferente.

  4. Seleccione Aceptar.

Para eliminar una partición

  1. En la página Particiones de datos , seleccione una partición en la cuadrícula.

  2. Haga clic en Eliminar.

Para permitir a los suscriptores inicializar la generación y distribución de instantáneas

  1. En la página Particiones de datos , seleccione Definir automáticamente una partición y generar una instantánea si es necesario cuando un suscriptor nuevo intente sincronizarse.

  2. Seleccione Aceptar.

Para generar una instantánea para una partición

  1. En la página Particiones de datos , seleccione una partición en la cuadrícula.

  2. Haga clic en Generar instantáneas seleccionadas ahora.

Para limpiar una instantánea de una partición

  1. En la página Particiones de datos , seleccione una partición en la cuadrícula.

  2. Haga clic en Limpiar instantáneas existentes.

Usar Transact-SQL

Para administrar mejor una publicación con filtros parametrizados, puede enumerar mediante programación las particiones existentes utilizando los procedimientos almacenados de replicación. También puede crear y eliminar particiones existentes. Se puede obtener la información siguiente sobre las particiones existentes:

Mientras la segunda parte de la instantánea de dos partes se puede generar a petición cuando se inicializa una nueva suscripción, los procedimientos siguientes le permiten controlar cómo se genera esta instantánea y pre-generar dicha instantánea cuando sea más conveniente. Para más información, consulte Instantáneas para publicaciones de combinación con filtros con parámetros.

Para ver información sobre particiones existentes

  1. En el publicador de la base de datos de publicación, ejecute sp_helpmergepartition (Transact-SQL). Especifique el nombre de la publicación para @publication. (Opcional) Especifique @suser_sname o @host_name para devolver solo información basada en un criterio de filtrado.

Para definir una nueva partición y generar una nueva instantánea con particiones

  1. En el publicador de la base de datos de publicación, ejecute sp_addmergepartition (Transact-SQL). Especifique el nombre de la publicación para @publication y el valor con parámetros que define la partición para uno de los siguientes:

  2. Cree e inicialice la instantánea parametrizada para esta nueva partición. Para más información, consulte Crear una instantánea para una publicación de mezcla con filtros con parámetros.

Para eliminar una partición

  1. En el publicador de la base de datos de publicación, ejecute sp_dropmergepartition (Transact-SQL). Especifique el nombre de la publicación para @publication y el valor con parámetros que define la partición para uno de los siguientes:

    Este procedimiento quita también el trabajo de instantáneas y los archivos de instantáneas de la partición.

Usar Replication Management Objects (RMO)

Para administrar mejor una publicación con filtros parametrizados, puede crear mediante programación nuevas particiones del suscriptor, enumerar las particiones del suscriptor existentes y eliminar las particiones del suscriptor utilizando Replication Management Objects (RMO). Para obtener más información acerca de cómo particiones del suscriptor, vea Crear una instantánea para una publicación de mezcla con filtros con parámetros. Se puede obtener la información siguiente sobre las particiones existentes:

  • El valor y la función de filtrado en los que se basa la partición.

  • El nombre del trabajo que genera una instantánea con parámetros para el suscriptor.

  • La última vez que se ejecutó un trabajo de instantánea con parámetros.

Para ver información sobre particiones existentes

  1. Cree una conexión al publicador mediante la clase ServerConnection .

  2. Cree una instancia de la clase MergePublication. Establezca las propiedades Name y DatabaseName para la publicación y la propiedad ConnectionContext en la ServerConnection creada en el paso 1.

  3. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de publicación del paso 2 se definieron incorrectamente, o bien que la publicación no existe.

  4. Llame al método EnumMergePartitions y pase el resultado a una matriz de objetos MergePartition .

  5. Para cada objeto MergePartition en la matriz, obtenga cualquier propiedad de interés.

Para eliminar particiones existentes

  1. Cree una conexión al publicador mediante la clase ServerConnection .

  2. Cree una instancia de la clase MergePublication. Establezca las propiedades Name y DatabaseName para la publicación y la propiedad ConnectionContext en la ServerConnection creada en el paso 1.

  3. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de publicación del paso 2 se definieron incorrectamente, o bien que la publicación no existe.

  4. Llame al método EnumMergePartitions y pase el resultado a una matriz de objetos MergePartition .

  5. Para cada objeto MergePartition en la matriz, determine si se debería eliminar la partición. Esta decisión normalmente está basada en el valor de la propiedad DynamicFilterLogin o la propiedad DynamicFilterHostName .

  6. Llame al método RemoveMergePartition en el objeto MergePublication del paso 2. Pase el objeto MergePartition del paso 5.

  7. Repita el paso 6 para cada partición que se elimina.

Consulte también

Filtros de fila con parámetros
Instantáneas para publicaciones de combinación con filtros con parámetros