Compartilhar via


Como gerenciar partições para uma publicação de mesclagem com filtros com parâmetros (Programação RMO)

Para gerenciar melhor uma publicação com filtros com parâmetros, você pode criar programaticamente novas partições de Assinante, enumerar as partições de Assinante existentes e excluir partições de Assinante usando RMO (Replication Management Objects). Para obter informações sobre como criar partições de Assinante, consulte Como criar um instantâneo para uma publicação de mesclagem com filtros com parâmetros (Programação RMO). As informações a seguir a respeito das partições existentes podem ser obtidas:

  • A função do valor e da filtragem sobre a qual a partição está baseada.

  • O nome do trabalho que gera um instantâneo com parâmetros para o Assinante.

  • A última vez em que um trabalho de instantâneo com parâmetros foi executado.

ObservaçãoObservação

Quando uma publicação tiver filtros com parâmetros que geram assinaturas com partições não sobrepostas ou se uma assinatura específica estiver perdida e necessitar de nova criação, faça o seguinte: remova a partição que estava com assinatura, recrie a assinatura e, em seguida, recrie a partição. Para obter mais informações, consulte Filtro de linha com parâmetros. A replicação gera scripts de criação para as partições de Assinante existentes quando um script de criação de publicação é gerado. Para obter mais informações, consulte Replicação de script.

Para exibir informações sobre partições existentes

  1. Crie uma conexão com o Publicador usando a classe ServerConnection.

  2. Crie uma instância da classe MergePublication. Defina as propriedades Name e DatabaseName para a publicação, e a propriedade ConnectionContext para a ServerConnection criada na etapa 1.

  3. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da publicação na etapa 2 foram definidas incorretamente ou a publicação não existe.

  4. Chame o método EnumMergePartitions e passe o resultado para uma matriz de objetos MergePartition.

  5. Para cada objeto MergePartition na matriz, obtenha as propriedades de interesse.

Para excluir partições existentes

  1. Crie uma conexão com o Publicador usando a classe ServerConnection.

  2. Crie uma instância da classe MergePublication. Defina as propriedades Name e DatabaseName para a publicação, e a propriedade ConnectionContext para a ServerConnection criada na etapa 1.

  3. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da publicação na etapa 2 foram definidas incorretamente ou a publicação não existe.

  4. Chame o método EnumMergePartitions e passe o resultado para uma matriz de objetos MergePartition.

  5. Para cada objeto MergePartition na matriz, determine se a partição deve ser excluída. Normalmente, essa decisão se baseia no valor da propriedade DynamicFilterLogin ou da propriedade DynamicFilterHostName.

  6. Chame o método RemoveMergePartition no objeto MergePublication da etapa 2. Passe o objeto MergePartition da etapa 5.

  7. Repita a etapa 6 para cada partição excluída.