Como otimizar os filtros de linha com parâmetros (Programação Transact-SQL de replicação)
Quando você usar filtros com parâmetros, será possível controlar como os filtros serão processados pela replicação de mesclagem, especificando a opção use partition groups ou a opção keep partition changes ao criar uma publicação. Essas opções melhoram o desempenho de sincronização para publicações com artigos filtrados, armazenando metadados adicionais no banco de dados de publicação. Você pode controlar como os dados serão compartilhados entre Assinantes definindo as opções de partição ao criar um artigo.
Para obter mais informações sobre esses requisitos, consulte Filtro de linha com parâmetros. Para definições sobre as opções de filtragem para @keep_partition_changes e @use_partition_groups, consulte sp_addmergepublication.
Para especificar otimizações de filtro de mesclagem ao criar uma nova publicação
No Publicador do banco de dados de publicação, execute sp_addmergepublication. Especifique @publication e um valor de true para um dos seguintes parâmetros:
@use_partition_groups: - a otimização de desempenho mais alta, contanto que os artigos estejam em conformidade com os requisitos para partições pré-calculadas. Para obter mais informações, consulte Otimizando o desempenho de filtro com parâmetros com partições pré-computadas.
@keep_partition_changes - use essa otimização se as partições pré-calculadas não podem ser usadas.
Adicione um trabalho de instantâneo para a publicação. Para obter mais informações, consulte Como criar uma publicação (Programação Transact-SQL de replicação).
No Publicador do banco de dados de publicação, execute sp_addmergearticle, especificando os seguintes parâmetros:
@publication - o nome da publicação da etapa 1.
@article - um nome para o artigo
@source_object - o nome do banco de dados sendo publicado.
@subset_filterclause - a cláusula de filtro com parâmetros opcional usada para filtrar o artigo horizontalmente.
@partition_options - as opções de partição para o artigo filtrado.
Repita a etapa 3 para cada artigo na publicação.
(Opcional) No Assinante do banco de dados de publicação, execute sp_addmergefilter para definir um filtro de junção entre dois artigos. Para obter mais informações, consulte Como definir e modificar um filtro de junção entre artigos de mesclagem (Programação Transact-SQL de replicação).
Para visualizar e modificar comportamentos de filtro de mesclagem para uma publicação existente
(Opcional) No Publicador do banco de dados de publicação, execute sp_helpmergepublication, especificando @publication. Observe o valor de keep_partition_changes e use_partition_groups no conjunto de resultados.
(Opcional) No Publicador do banco de dados de publicação, execute sp_changemergepublication. Especifique um valor de use_partition_groups para @property e true ou false para @value.
(Opcional) No Publicador do banco de dados de publicação, execute sp_changemergepublication. Especifique um valor de keep_partition_changes para @property e true ou false para @value.
Observação Ao habilitar keep_partition_changes, é necessário, primeiro, desabilitar use_partition_groups e especificar um valor de 1 para @force_reinit_subscription.
(Opcional) No Publicador do banco de dados de publicação, execute sp_changemergearticle. Especifique um valor de partition_options para @property e o valor apropriado para @value. Consulte sp_addmergearticle para definições destas opções de filtragem.
(Opcional) Iniciar o Snapshot Agent para regenerar o instantâneo se necessário. Para obter mais informações sobre quais alterações necessitam de um novo instantâneo, consulte Alterando a publicação e as propriedades do artigo.