Partilhar via


Gerenciar partições para uma publicação de mesclagem com filtros com parâmetros

Este tópico descreve como gerenciar partições para uma publicação de mesclagem com filtros com parâmetros no SQL Server 2012 usando o SQL Server Management Studio, o Transact-SQL ou o RMO (Replication Management Objects). Filtros de linha com parâmetros podem ser usados para gerar partições não sobrepostas. Essas partições podem ser restringidas de forma que só uma assinatura receba uma determinada partição. Nesses casos, um grande número de assinantes resultará em um grande número de partições, que por sua vez, exige um número igual de instantâneos particionados. Para obter mais informações, consulte Filtros de linha com parâmetros.

Neste tópico

  • Antes de começar:

    Recomendações

  • Para gerenciar partições para uma publicação de mesclagem com filtros com parâmetros, usando:

    SQL Server Management Studio

    Transact-SQL

    RMO (Replication Management Objects)

Antes de começar

Recomendações

  • Se você fizer um script de topologia de replicação, o que é recomendado, os scripts de publicação contêm as chamadas de procedimento armazenado para criar partições de dados. O script fornece uma referência para as partições criadas e um modo para recriar uma ou mais partições, caso seja necessário. Para obter mais informações, consulte Replicação de script.

  • 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 Filtros 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.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o SQL Server Management Studio

Gerenciar partições na página de Partições de Dados na caixa de diálogo de Propriedades de Publicação - <Publicação> . Para obter mais informações sobre como acessar essa caixa de diálogo, consulte Visualizar e modificar as propriedades da publicação. Nessa página você pode: criar e excluir partições, permitir que Assinantes iniciem a geração e entrega de instantâneo, gerar instantâneos para uma ou mais partições e limpar instantâneos.

Para criar uma partição

  1. Na página Partições de Dados da caixa de diálogo Propriedades de Publicação - <Publicação>, clique em Adicionar.

  2. Na caixa de diálogo Adicionar Partição de Dados coloque o valor para HOST_NAME() e/ou o valor SUSER_SNAME() associado com a partição que você quer criar.

  3. Especifique, opcionalmente, um cronograma para atualizar instantâneos:

    1. Selecione Agendar o Agente de Instantâneo para que esta partição seja executada no(s) seguinte(s) horário(s):

    2. Aceite o cronograma padrão para atualizar instantâneos ou clique em Alterar para especificar um cronograma diferente.

  4. Clique em OK.

Para excluir uma partição

  1. Na página Partições de Dados, selecione uma partição na grade.

  2. Clique em Excluir.

Para permitir que os Assinantes iniciem a geração e entrega de instantâneo

  1. Na página Partições de Dados selecione Definir automaticamente uma partição e gerar um instantâneo, se necessário, quando um novo Assinante tentar sincronizar.

  2. Clique em OK.

Para gerar um instantâneo para uma partição

  1. Na página Partições de Dados, selecione uma partição na grade.

  2. Clique em Gerar os instantâneos selecionados agora

Limpar um instantâneo para uma partição

  1. Na página Partições de Dados, selecione uma partição na grade.

  2. Clique em Limpar os instantâneos existentes

Ícone de seta usado com o link Voltar ao Início[Top]

Usando Transact-SQL

Para administrar melhor uma publicação com filtros com parâmetros, você pode enumerar programaticamente as partições existentes que usam procedimentos armazenados de replicação. Você também pode criar e excluir partições existentes. Podem ser obtidas as seguintes informações a respeito das partições existentes:

Enquanto a segunda parte do instantâneo de duas partes pode ser gerada sob solicitação quando uma nova assinatura for incializada, os procedimentos abaixo permitem a você controlar o modo que é gerado o instantâneo e como pré-gerar esse instantâneo quando for mais conveniente. Para obter mais informações, consulte Instantâneos para publicações de mesclagem com filtros com parâmetros.

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

  • No Publicador do banco de dados de publicação, execute sp_helpmergepartition (Transact-SQL). Especifique o nome da publicação para @publication. (Opcional) Especifique @suser_sname ou @host_name para retornar somente informações baseadas em um único critério de filtragem.

Para definir uma partição nova e gerar um instantâneo particionado novo

  1. No Publicador do banco de dados de publicação, execute sp_addmergepartition (Transact-SQL). Especifique o nome da publicação para @publisher e o valor com parâmetros que define a partição para um dos seguintes:

  2. Crie e inicialize o instantâneo com parâmetros para esta partição nova. Para obter mais informações, consulte Criar um instantâneo para uma publicação de mesclagem com filtros com parâmetros.

Para excluir uma partição

  • No Publicador do banco de dados de publicação, execute sp_dropmergepartition (Transact-SQL). Especifique o nome da publicação para @publication e o valor com parâmetros que define a partição para um dos seguintes:

    Isso também remove o trabalho de instantâneo e qualquer arquivo de instantâneo para a partição.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o RMO (Replication Management Objects)

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 Criar um instantâneo para uma publicação de mesclagem com filtros com parâmetros. 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.

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.

Ícone de seta usado com o link Voltar ao Início[Top]

Consulte também

Conceitos

Filtros de linha com parâmetros

Instantâneos para publicações de mesclagem com filtros com parâmetros