Replicação de banco de dados.2 servidores, banco de dados mestre e o segundo é somente leitura

StackOverflow https://stackoverflow.com/questions/12946

  •  08-06-2019
  •  | 
  •  

Pergunta

Digamos que você tenha 2 servidores de banco de dados, um banco de dados é o banco de dados 'mestre' onde todas as operações de gravação são executadas, ele é tratado como o banco de dados 'real/original'.O banco de dados do outro servidor será uma cópia espelhada do banco de dados mestre (escravo?), que será usado para operações somente leitura para uma determinada parte da aplicação.

Como você configura um banco de dados escravo que espelha os dados do banco de dados mestre?Pelo que entendi, o banco de dados escravo/somente leitura deve usar o arquivo de log de transações do banco de dados mestre para espelhar os dados corretos?
Que opções eu tenho em termos de frequência com que o banco de dados escravo espelha os dados?(tempo real/a cada x minutos?).

Foi útil?

Solução

O que você deseja é chamado de Replicação Transacional no SQL Server 2005.Ele replicará as alterações quase em tempo real conforme o editor (ou seja,"master") o banco de dados é atualizado.

Aqui está um bom guia sobre como configurá-lo.

Outras dicas

O SQL Server 2008 possui três modos diferentes de replicação.

  • Transacional para replicação somente leitura unidirecional
  • Mesclar para replicação bidirecional
  • Instantâneo

Pelo que entendi, o banco de dados escravo/somente leitura deve usar o arquivo de log de transações do banco de dados mestre para espelhar os dados corretos?Que opções eu tenho em termos de frequência com que o banco de dados escravo espelha os dados?(tempo real/a cada x minutos?).

Parece que você está falando sobre envio de log em vez de replicação.Para o que você está planejando fazer, eu concordo Jeremy McCollum e diga fazer replicação transacional.Se você fizer o envio de logs quando o banco de dados for restaurado a cada x minutos, o banco de dados não estará disponível.

Aqui está um bom passo a passo da diferença entre os dois.É triste dizer que você precisa se inscrever em uma conta para lê-lo.=/ http://www.sqlservercentral.com/articles/Replication/logshippingvsreplication/1399/

A resposta irá variar dependendo do servidor de banco de dados que você está usando para fazer isso.

Editar:Desculpe, talvez eu precise aprender a olhar as tags e não apenas a pergunta - posso ver que você marcou isso como sqlserver.

A replicação transacional é em tempo real.

Se você não tem nenhuma atualização para fazer em seu banco de dados, o que você precisa é apenas recuperar os dados, digamos, uma vez por dia:em seguida, use a replicação de instantâneo em vez da replicação transacional.Na replicação de instantâneo, as alterações serão replicadas quando e conforme definido pelo usuário, digamos, uma vez a cada 24 horas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top