Como definir e modificar um filtro de junção entre artigos de mesclagem (SQL Server Management Studio)

Defina, modifique e exclua filtros de junção na página Filtrar Linhas da Tabela do Assistente para Nova Publicação ou na página Filtrar Linhas da caixa de diálogo Propriedades de Publicação - <Publicação>. Para obter mais informações sobre como usar o assistente e acessar a caixa de diálogo, consulte Como criar uma publicação e definir artigos (SQL Server Management Studio) e Como exibir e modificar propriedades de Artigo e Publicação (SQL Server Management Studio).

ObservaçãoObservação

Para adicionar, modificar ou excluir um filtro de junção na caixa de diálogo Propriedades da Publicação – <Publicação> após assinaturas da publicação terem sido inicializadas, será preciso gerar um novo instantâneo e reinicializar todas as assinaturas após fazer a alteração. Para obter mais informações sobre os requisitos para alterações de propriedades, consulte Alterando a publicação e as propriedades do artigo.

Os filtros de junção podem ser criados manualmente para um conjunto de tabelas ou a replicação pode gerar os filtros automaticamente, com base nas relações entre as chaves estrangeiras e primárias definidas nas tabelas. Para obter mais informações sobre como gerar automaticamente um conjunto de filtros de junção, consulte Como automaticamente gerar um conjunto de filtros de junção entre artigos de mesclagem (SQL Server Management Studio).

Para definir um filtro de junção

  1. Na página Filtrar Linhas da Tabela do Assistente para Nova Publicação ou na página Filtrar Linhas de Propriedades da Publicação – <Publicação>, selecione um filtro de linha ou filtro de junção existentes no painel Tabelas Filtradas.

    ObservaçãoObservação

    Para criar um filtro de junção, uma publicação deve conter pelo menos duas tabelas relacionadas. O filtro de junção estende um filtro de linha; por isso, é preciso definir o filtro de linha em uma tabela antes de poder estender o filtro de junção em outra tabela. Depois que um filtro de junção estiver definido, você poderá estender este filtro de junção com outro filtro de junção, se a publicação contiver tabelas relacionadas adicionais.

  2. Clique em Adicionar e depois clique em Adicionar Junção para Estender o Filtro Selecionado.

  3. Crie a instrução de junção: selecione Usar o construtor para criar a instrução ou Gravar a instrução de junção manualmente.

    • Se você selecionar para usar o construtor, use as colunas na grade (Conjunção, Coluna da Tabela Filtrada, Operador e Coluna da Tabela Unida) para criar uma instrução de junção.

      Cada coluna da grade contém uma caixa de combinação suspensa que permite a seleção de duas colunas e um operador (=, <>, <=, <, >=, > e como). Os resultados são exibidos na área de texto Visualizar. Se a junção envolver mais de um par de colunas, selecione a conjunção (AND ou OR) na coluna Conjunção e, depois, insira mais duas colunas e um operador.

    • Ao optar para gravar manualmente a instrução, grave a instrução de junção na área de texto Instrução de junção. Use as caixas de listagens Colunas da tabela filtrada e Colunas da tabela unida para arrastar e soltar colunas na área de texto Instrução de junção.

    • A Instrução de junção completa teria a seguinte aparência:

      SELECT <published_columns> FROM [Sales].[SalesOrderHeader] INNER JOIN [Sales].[SalesOrderDetail] ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID]
      

      A cláusula JOIN deve usar nomeação de duas partes; nomeação de três partes e nomeação de quatro partes não possuem suporte.

  4. Especifique opções de junção:

    • Se a coluna de união da tabela filtrada (tabela pai) for exclusiva, selecione Chave exclusiva.

      Observação sobre cuidadosCuidado

      A seleção dessa opção indica que a relação entre tabelas pai e filho em um filtro de junção é de um para um ou de um para muitos. Só selecione essa opção se houver uma restrição na coluna de junção na tabela filho que garanta a exclusividade. Se a opção for definida incorretamente, pode haver não-convergência de dados.

    • Por padrão, os processos de replicação de mesclagem são alterados em uma base de linha por linha, durante a sincronização. Para ter alterações relacionadas em linhas de tabelas filtradas e de tabelas unidas processadas como uma unidade, selecione Registro lógico (somente no Microsoft SQL Server 2005 ou versões posteriores). Essa opção só ficará disponível se os requisitos de artigo e publicação para uso de registros lógicos forem atendidos. Para obter mais informações, consulte a seção "Considerações para uso de registros lógicos" em Agrupando alterações a linhas relacionadas com registros lógicos.

  5. Clique em OK.

  6. Caso esteja na caixa de diálogo Propriedades de Publicação - <Publicação>, clique em OK para salvar e fechar a caixa de diálogo.

Para modificar um filtro de junção

  1. Na página Filtrar Linhas da Tabela do Assistente para Nova Publicação ou na página Filtrar Linhas da caixa de diálogo Propriedades de Publicação – <Publicação>, selecione um filtro no painel Tabelas Filtradas e depois clique em Editar.

  2. Na caixa de diálogo Editar Junção, modifique o filtro.

  3. Clique em OK.

Para excluir um filtro de junção

  • Na página Filtrar Linhas da Tabela do Assistente para Nova Publicação ou na página Filtrar Linhas de Propriedades da Publicação – <Publicação>, selecione um filtro no painel Tabelas Filtradas e, depois, clique em Excluir. Caso o próprio filtro excluído seja estendido por outras junções, essas junções também serão excluídas.