Otimizar filtros de linha com parâmetros

Este tópico descreve como otimizar filtros de linha com parâmetros no SQL Server 2012 usando o SQL Server Management Studio ou o Transact-SQL.

Neste tópico

  • Antes de começar:

    Recomendações

  • Para otimizar filtros de linha com parâmetros, usando:

    SQL Server Management Studio

    Transact-SQL

Antes de começar

Recomendações

  • 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 Filtros de linha com parâmetros.

    Com os assinantes do SQL Server Compact SQL Server Compact, keep_partition_changes deve ser definido como true para assegurar que as exclusões sejam propagadas corretamente. Quando definido como falso, o assinante pode ter mais linhas do que o esperado.

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

Usando o SQL Server Management Studio

As configurações seguintes podem ser usadas para aperfeiçoar filtros de linha com parâmetros:

  • Opções de Partição
    Defina essa opção na página Propriedades da caixa de diálogo Propriedades do Artigo - <Artigo> ou na caixa de diálogo Adicionar Filtro . Ambas as caixas de diálogo estão no Assistente para Nova Publicação e a caixa de diálogo Propriedades da Publicação - <Publicação> . A caixa de diálogo Propriedades do Artigo - <Artigo> permite que você especifique valores adicionais para essa opção que não estão disponíveis na caixa de diálogo Adicionar Filtro .

  • Pré-calcular partições
    Essa opção é definida, por padrão, para True se os artigos em sua publicação aderem a um conjuntos de requisitos. Para obter mais informações sobre esses requisitos, consulte Otimizar o desempenho de filtro parametrizado com partições pré-computadas. Modifique essa opção na página Opções de Inscrição na caixa de diálogo Propriedades da Publicação - <Publicação> .

  • Otimizar sincronização
    Essa opção deve ser definida como True somente se Pré-calcular Partições estiver definida como False. Defina essa opção na página Opções de Inscrição na caixa de diálogo Propriedades da Publicação - <Publicação> .

Para obter mais informações sobre como usar o Assistente para nova publicação e acessar a caixa de diálogo Propriedades da Publicação - <Publicação>, consulte Crie uma publicação e Visualizar e modificar as propriedades da publicação.

Para definir as opções de partição na caixa de diálogo Adicionar Filtro ou Editar Filtro

  1. Na página Filtrar Linhas da Tabela do Assistente para Nova Publicação na página Filtrar Linhas da caixa de diálogo Propriedades da Publicação - <Publicação> , clique em Adicionar e em Adicionar Filtro.

  2. Criar um filtro com parâmetros. Para obter mais informações, consulte Definir e modificar um filtro de linha com parâmetros para um artigo de mesclagem.

  3. Selecione a opção que corresponde ao modo em que os dados serão compartilhados entre Assinantes:

    • Uma linha dessa tabela irá para múltiplas assinaturas

    • Uma linha dessa tabela irá para apenas uma assinatura

    Se você selecionar Uma linha desta tabela irá para apenas uma assinatura, a replicação de mesclagem pode otimizar o desempenho armazenando e processando uma quantia menor de metadados. No entanto, será necessário certificar-se de que os dados são particionados de forma que uma linha não seja replicada em mais de um Assinante. Para obter mais informações, consulte a seção "Configurando opções de partição" no tópico Filtros de linha com parâmetros.

  4. Clique em OK.

  5. Se você estiver na caixa de diálogo Propriedades de Publicação - <Publicação>, clique em OK para salvar e fechar a caixa de diálogo.

Para definir as Opções de Partição na caixa de diálogo Propriedades do Artigo - <Artigo>

  1. Na página Artigos do Assistente para Nova Publicação ou na caixa de diálogo Propriedades da Publicação- <Publicação>, selecione uma tabela e clique Propriedades do Artigo.

  2. Clique em Definir Propriedades do Artigo Realçado na Tabela ou Definir as Propriedades de Todos os Artigos de Tabela.

  3. Na seção Objeto de Destino da guia Propriedadesna caixa de diálogo Propriedades do Artigo - <Artigo> , especifique um dos valores a seguir para as Opções da Partição:

    • Com sobreposição

    • Com sobreposição, não permitir alterações de dados fora da partição

    • Sem sobreposição, assinatura única

    • Sem sobreposição, compartilhados entre assinaturas

    Para obter mais informações sobre essas opções e sobre como estão relacionadas às opções disponíveis nas caixas de diálogo Adicionar Filtro e Editar Filtro , consulte a seção "Definindo as opções de partição'" em Filtros de linha com parâmetros.

  4. Clique em OK.

  5. Se você estiver na caixa de diálogo Propriedades de Publicação - <Publicação>, clique em OK para salvar e fechar a caixa de diálogo.

Para definir o Pré-calcular Partições

  1. Na página Opções de Assinatura da caixa de diálogo Propriedades da Publicação - <Publicação> , selecione um valor para a opção Pré-calcular Partições . A propriedade é somente leitura se:

    • A publicação não satisfizer os requisitos para as partições pré-calculadas.

    • Um instantâneo ainda não tiver sido gerado para a publicação. Nesse caso, a opção exibe um valor de Definir automaticamente quando um instantâneo é criado.

  2. Clique em OK.

Para definir o Otimizar Sincronização

  1. Na página Opções de Assinatura da caixa de diálogo Propriedades da Publicação - <Publicação> , selecione um valor de True para a opção Otimizar Sincronização .

  2. Clique em OK.

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

Usando Transact-SQL

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

  1. 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 Otimizar o desempenho de filtro parametrizado com partições pré-computadas.

    • @keep_partition_changes - use essa otimização se as partições pré-calculadas não podem ser usadas.

  2. Adicione um trabalho de instantâneo para a publicação. Para obter mais informações, consulte Crie uma publicação.

  3. 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 que está 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.

  4. Repita a etapa 3 para cada artigo na publicação.

  5. (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 Definir e modificar um filtro de junção entre artigos de mesclagem.

Para visualizar e modificar comportamentos de filtro de mesclagem para uma publicação existente

  1. (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.

  2. (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.

  3. (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çãoObservação

    Ao habilitar keep_partition_changes, é necessário, primeiro, desabilitar use_partition_groups e especificar um valor de 1 para @force_reinit_subscription.

  4. (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.

  5. (Opcional) Iniciar o Agente de Instantâneo para regenerar o instantâneo se necessário. Para obter mais informações sobre quais alterações necessitam de um novo instantâneo, consulte Alterar propriedades da publicação e do artigo.

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

Consulte também

Tarefas

Gerar automaticamente um conjunto de filtros de junção entre artigos de mesclagem (SQL Server Management Studio)

Conceitos

Definir e modificar um filtro de linha com parâmetros para um artigo de mesclagem

Otimizar filtros de linha com parâmetros

Filtros de linha com parâmetros