Atualizar bancos de dados replicados

O SQL Server 2012 suporta a atualização de bancos de dados replicados de versões anteriores do SQL Server; não é necessário interromper a atividade de outros nós durante a atualização de um nó. Verifique se você está em conformidade com as regras que dizem respeito às versões suportadas em uma topologia:

  • Um Distribuidor pode ser de qualquer versão, desde que ela seja maior ou igual à do Publicador (em muitos casos, o Distribuidor tem a mesma instância que o Publicador).

  • Um Publicador pode ser de qualquer versão, contanto que ela seja menor ou igual à versão do Distribuidor.

  • A versão de assinante depende do tipo de publicação:

    • Um Assinante de uma publicação transacional pode ser de qualquer uma das duas versões do Publicador. Por exemplo: um SQL Server 2005 Publisher pode ter assinantes executando SQL Server 2005, SQL Server 2008 (incluindo SQL Server 2008 R2) ou SQL Server 2012; e um SQL Server 2012 Publisher pode ter assinantes executando SQL Server 2005, SQL Server 2008 (incluindo SQL Server 2008 R2) ou SQL Server 2012.

    • Um Assinante de uma publicação de mesclagem pode ser de qualquer versão menor ou igual à do Publicador.

ObservaçãoObservação

Esse tópico está disponível na documentação de Ajuda da instalação e nos Manuais Online do SQL Server. Os links do tópico que aparecem em negrito na documentação da Ajuda da instalação se referem a tópicos que só estão disponíveis nos Manuais Online.

Executar o Log Reader Agent para replicação transacional antes da atualização

Antes de atualizar para o SQL Server 2012, você deve verificar se todas as transações confirmadas de tabelas publicadas foram processadas pelo Log Reader Agent. Para isso, execute as seguintes etapas para cada banco de dados que contém publicações transacionais:

  1. Verifique se o Log Reader Agent está executando para o banco de dados. Por padrão, o agente é executado continuamente.

  2. Interrompa a atividade de usuário em tabelas publicadas.

  3. Conceda um tempo para que o Log Reader Agent copie transações para o banco de dados de distribuição e, depois, interrompa o agente.

  4. Execute sp_replcmds para verificar se todas as transações foram processadas. O conjunto de resultados deste procedimento deve ser vazio.

  5. Execute sp_replflush para fechar a conexão de sp_replcmds.

  6. Execute a atualização do servidor para o SQL Server 2012.

  7. Reinicie o SQL Server Agent e o Log Reader Agent se eles não iniciarem automaticamente depois da atualização.

Executar agentes para replicação de mesclagem após a atualização

Depois da atualização, execute o Snapshot Agent para cada publicação de mesclagem e o Merge Agent para cada assinatura a fim de atualizar os metadados de replicação. Você não precisa aplicar o novo instantâneo, pois não é necessário reinicializar assinaturas. Metadados de assinatura são atualizados a primeira vez que o Merge Agent é executado após a atualização. Isso significa que o banco de dados de assinatura pode permanecer online e ativo durante a atualização do Publicador.

A replicação de mesclagem armazena metadados de publicação e de assinatura em várias tabelas do sistema nos bancos de dados de publicação e de assinatura. Executar o Snapshot Agent atualiza os metadados de publicação, e executar o Merge Agent atualiza os metadados de assinatura. Só é necessário gerar um instantâneo de publicação. Se uma publicação de mesclagem usar filtros com parâmetros, cada partição também terá um instantâneo. Não é necessário atualizar esses instantâneos particionados.

Execute os agentes do SQL Server Management Studio, Replication Monitor ou da linha de comando. Para obter mais informações sobre como executar o Snapshot Agent, consulte os seguintes tópicos:

Para obter mais informações sobre como executar o Merge Agent, consulte os seguintes tópicos:

Depois de atualizar o SQL Server em uma topologia que utiliza a replicação de mesclagem, altere o nível de compatibilidade de publicação de qualquer publicação caso queira usar novos recursos.

Atualizando as edições Standard, Workgroup ou Express

Antes de atualizar de uma edição do SQL Server 2012 para outra, verifique se a funcionalidade que você está usando tem suporte na edição para a qual deseja atualizar. Para obter mais informações, consulte a seção "SQL Server 2012 Recursos de replicação" no tópico Recursos compatíveis com as edições do SQL Server 2012.

Sincronização da Web para replicação de mesclagem.

A opção de sincronização da Web para replicação de mesclagem requer que o SQL Server Replication Listener (replisapi.dll) seja copiado para o diretório virtual do servidor IIS (Serviços de Informações da Internet) usado para sincronização. Quando você configura a sincronização da Web, o arquivo é copiado para o diretório virtual pelo Assistente para Configuração da Sincronização da Web. Se você atualizar os componentes do SQL Server instalados no servidor IIS, deverá copiar replisapi.dll manualmente do diretório COM para o diretório virtual no servidor IIS. Para obter mais informações sobre como configurar a sincronização da Web, consulte Configure a sincronização da Web.

Restaurando um banco de dados replicado de uma versão anterior

Para assegurar que as configurações de replicação sejam mantidas na restauração do backup de um banco de dados replicado de uma versão anterior, restaure para um servidor e um banco de dados que tenham os mesmos nomes que o servidor e o banco de dados dos quais foi obtido o backup.

Consulte também

Referência

Atualizações de versão e edição com suporte

Conceitos

Compatibilidade com versões anteriores de replicação

Novidades (Replicação)

Atualizar para o SQL Server 2012

Outros recursos

Administração (Replicação)