Replicação para a tabela Subscribers com otimização de memória

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Você pode configurar como tabelas otimizadas para memória as tabelas que atuam como assinantes de replicação por instantâneo e de replicação transacional, com exceção da replicação transacional ponto a ponto. Tabelas otimizadas para memória não são compatíveis com outras configurações de replicação. Esse recurso está disponível a partir do SQL Server 2016 (13.x).

São necessárias duas configurações

Para configurar uma tabela com otimização de memória como um assinante

  1. Crie uma publicação transacional. Para obter mais informações, consulte Criar uma publicação.

  2. Adicione artigos à publicação. Para obter mais informações, consulte Define an Article.

    Se a configuração for feita usando Transact-SQL, defina o parâmetro @schema_option do procedimento armazenado sp_addarticle para
    0x40000000000.

  3. Na janela de propriedades do artigo, defina Habilitar otimização de memória como verdadeiro.

  4. Inicie o trabalho do Agente de Instantâneo para gerar o instantâneo inicial para essa publicação. Para obter mais informações, consulte Criar e aplicar o instantâneo inicial.

  5. Agora, crie uma nova assinatura. No Assistente para Nova Assinatura , defina a Assinatura Otimizada para Memória como true.

As tabelas com otimização de memória agora devem começar a receber atualizações do publicador.

Reconfigurar uma replicação de transação existente

  1. Vá para propriedades de assinatura no Management Studio e defina Assinatura com Otimização de Memória como true. As mudanças só são aplicadas quando você reinicializa a assinatura.

    Se estiver configurando usando Transact-SQL, defina o novo parâmetro @memory_optimized do procedimento armazenado sp_addsubscription para verdadeiro.

  2. Vá até as propriedades do artigo para uma publicação no Management Studio e defina a otimização Habilitar memória como true.

    Se a configuração for feita usando Transact-SQL, defina o parâmetro @schema_option do procedimento armazenado sp_addarticle para
    0x40000000000.

  3. Tabelas otimizadas para memória não suportam índices agrupados. Para que a replicação possa lidar com essa limitação convertendo o índice em um índice não agrupado no destino, defina Converter índice agrupado para não agrupado para artigo otimizado para memória para verdadeiro.

    Se a configuração usar Transact-SQL, defina o parâmetro @schema_option do procedimento armazenado sp_addarticle como 0x0000080000000000.

  4. Regenere o instantâneo.

  5. Reinicialize a assinatura.

Observações e restrições

Somente há suporte para a replicação transacional unidirecional. Replicação transacional peer-to-peer não é suportada.

Você não pode publicar tabelas otimizadas para memória.

Você não pode configurar tabelas de replicação no distribuidor como tabelas otimizadas para memória.

Você não pode incluir tabelas otimizadas para memória na replicação de mesclagem.

No assinante, você pode configurar tabelas envolvidas na replicação transacional como tabelas otimizadas para memória, mas as tabelas assinantes devem atender aos requisitos das tabelas otimizadas para memória. Esse requisito impõe as seguintes restrições:

Modificando um arquivo de esquema

  • Se você usar a opção DURABILITY = SCHEMA_AND_DATAde tabela otimizada para memória , a tabela deve ter um índice de chave primária não agrupado.

  • ANSI_PADDING deve ser ON.