O conceito de replicação de instantâneo é simples. Gera e distribui o instantâneo de esquema e dados de artigos, apareceu em um horário específico e atualiza as alterações nas assinaturas. Quando criamos a replicação de instantâneo, o SQL Server cria um trabalho de agente de instantâneo que gera um instantâneo de objetos de banco de dados de publicação. O instantâneo é armazenado em qualquer local de rede ou no disco rígido. Você pode definir o intervalo para gerar o instantâneo usando o agendamento do SQL Job.
Configuração de demonstração
Para esta demonstração, criei duas instâncias do SQL Server em um servidor de banco de dados. Os nomes e detalhes das instâncias são os seguintes:
[ID da tabela=54 /]
Na configuração de demonstração, não criei um distribuidor, portanto, a instância do editor também atuará como distribuidor. Vou replicar tabelas e dados que pertencem à Pessoa esquema do banco de dados AdventureWorks2014.
Configurando o editor
Para configurar o editor, abra o SQL Server Management Studio, expanda a instância do banco de dados, expanda a Replicação nó, clique com o botão direito do mouse em LPublicação local e selecione Nova publicação . Veja a seguinte imagem:
O Assistente de Nova Publicação é iniciado. Na tela, um breve resumo do assistente foi dado. Você pode pular esta tela marcando a opção Não mostrar esta página inicial novamente caixa de seleção. Clique em Avançar para passar para a próxima tela. Veja a seguinte imagem:
Na próxima tela, selecione o banco de dados que atua como editor. Nesta demonstração, estou usando o AdventureWorks2014 banco de dados, portanto, selecione o AdventureWorks2014 banco de dados da lista de banco de dados e clique em Avançar . Veja a seguinte imagem:
Na próxima tela, selecione um tipo de publicação. Os tipos são listados na caixa de listagem Tipos de publicação e, para o tipo de publicação individual, suas descrições também são explicadas em Descrição do tipo de publicação caixa de texto. Selecione Replicação de instantâneo n e clique em Avançar . Veja a seguinte imagem:
Na replicação, os objetos do banco de dados são conhecidos como Artigos. Nos Artigos tela, a lista de objetos de banco de dados dentro do banco de dados de publicação é mostrada. Vou replicar dados de todas as tabelas que pertencem ao esquema Person, portanto, selecione as tabelas que pertencem ao esquema Person na lista de artigos e clique em Next . Veja a seguinte imagem:
Para inicializar a replicação, precisamos gerar um instantâneo. No Agente de instantâneo tela, configure o intervalo de geração do snapshot. Você pode gerar o instantâneo imediatamente ou pode agendar o horário específico para gerar o instantâneo do banco de dados. Por padrão, o instantâneo é gerado a cada hora, mas podemos alterá-lo. Para gerar um instantâneo em um intervalo específico, clique em Alterar . A Nova Agenda de Trabalho caixa de diálogo é aberta. Configure a programação desejada e clique em OK . Veja a seguinte imagem:
Nesta demonstração, gerarei instantâneo imediatamente, portanto, verifique o Criar um instantâneo e manter o instantâneo disponível para inicializar a assinatura opção e clique em Avançar.
Na próxima tela, configure a segurança do SQL Agent. Para configurar a segurança do agente, clique em Configurações de segurança botão. A Segurança do agente de instantâneo caixa de diálogo é aberta. Na caixa de diálogo, forneça a conta sob a qual o assinante se conecta ao editor. Além disso, forneça as informações da conta sob a qual o trabalho do agente do SQL Server será executado. Para esta demonstração, os trabalhos do SQL Server são executados na conta de serviço do SQL Server Agent, portanto, selecione Executar na conta de serviço do SQL Server Agent opção. Os assinantes serão conectados ao editor usando o login do SQL, portanto, selecione a opção Usando a seguinte opção de login do SQL Server e forneça o login e a senha do SQL. Nesta demonstração, conecte-se usando o sa Conecte-se. Clique em OK para fechar a caixa de diálogo e clique em Próximo t. Veja a seguinte imagem:
Na próxima tela, você pode optar por criar uma publicação ou gerar os scripts para criar a publicação. Selecione Gerar um arquivo de script para criar a publicação opção para gerar os scripts das etapas de replicação. Criaremos uma publicação, portanto, selecione Criar a publicação opção e clique em Próximo . Veja a seguinte imagem:
Na próxima tela, forneça o nome da publicação, revise o resumo das tarefas a serem executadas para criar a replicação e clique em Concluir para criar a publicação e fechar o Assistente de Nova Publicação. Veja a seguinte imagem:
Como mencionei no início do artigo, quando criamos uma replicação de instantâneo, o SQL cria um trabalho que cria um instantâneo e armazena os arquivos de instantâneo no diretório padrão.
Para visualizá-los, expanda SQL Server Agent>> expandir Trabalhos . Veja a seguinte imagem:
Depois que a publicação estiver configurada, configure os assinantes.
Configurando o assinante
Para configurar o assinante, primeiro, conecte-se a outra instância do SQL. Após conectar-se à instância, expanda a replicação e clique com o botão direito do mouse em Assinatura local . Veja a seguinte imagem:
Novo Assistente de Assinatura abre. Na tela, um breve resumo do assistente foi dado. Você pode pular esta tela marcando a opção Não mostrar esta página inicial novamente caixa de seleção. Clique em Avançar para passar para a próxima tela. Veja a seguinte imagem:
Na próxima tela, escolha o servidor de publicação. Clique no Editor caixa suspensa e selecione Localizar SQL Server Publisher da lista. Uma caixa de diálogo para conectar o editor é aberta. Na caixa de texto do nome do servidor, forneça o nome do host do servidor do editor e clique em conectar. Veja a seguinte imagem:
Assim que a conexão com o editor for estabelecida, o Snapshot_Replication publicação e o AdventureWorks2014 banco de dados será mostrado em Bancos de dados e publicação caixa de texto. Selecione Snapshot_Replication e clique em Avançar . Veja a seguinte imagem:
Na tela seguinte, escolha o local do agente de distribuição. Para esta demonstração, usarei a Pull Subscription , portanto, selecione Executar cada agente em seu assinante opção e clique em Avançar :
Na próxima tela, selecione um banco de dados de assinatura. Criei um banco de dados chamado Pessoas que atua como um banco de dados de assinantes. No Banco de Dados de Assinaturas caixa suspensa, selecione Pessoas banco de dados da lista. Depois de selecionar um banco de dados de assinatura, clique em Avançar . Veja a seguinte imagem:
Na próxima tela, configure a segurança do agente de distribuição. Para configurar a segurança, clique no botão […] botão. A Segurança do Agente de Distribuição caixa de diálogo é aberta. Na primeira seção, forneça a conta de domínio sob a qual o processo do agente de distribuição será executado. O agente de distribuição será executado no serviço de agente do SQL Server, portanto, selecione Executar na conta de serviço do agente do SQL Server opção.
Aqui eu não configurei o servidor de distribuição, portanto, o editor atua como distribuidor. O Assinante se conectará ao Publicador/Distribuidor usando o Login SQL. Para conectar o distribuidor, use o sa login e senha. Veja a seguinte imagem:
Clique em OK para fechar a caixa de diálogo. E na Segurança do Agente de Distribuição tela, clique em Avançar . Veja a seguinte imagem:
Na próxima tela, configure o agendamento de sincronização de assinatura. Você pode optar por executar continuamente ou configurar a execução agendada. Selecione Executar continuamente na agenda do agente caixa suspensa. Clique em Avançar . Veja a seguinte imagem:
Na próxima tela, escolha se deseja Inicializar a assinatura imediatamente com o instantâneo de dados e esquema de publicação ou após a primeira sincronização. Inicializaremos a assinatura imediatamente, portanto, escolha Imediatamente do Inicializar quando caixa suspensa. Clique em Avançar . Veja a seguinte imagem:
Na próxima tela, você pode optar por criar a assinatura imediatamente ou gerar os scripts para criar uma assinatura. Selecione Gerar um arquivo de script para criar a assinatura . Opção para gerar os scripts das etapas de replicação. Criaremos uma publicação, portanto, selecione a opção Criar a assinatura e clique em Próximo t. Veja a seguinte imagem:
Na tela seguinte, é fornecida uma lista de tarefas, executadas para criar a assinatura. Você pode revisá-los e clicar em Concluir . Veja a seguinte imagem:
Depois que a assinatura for criada, você poderá vê-la em Assinatura local nó. Veja a seguinte imagem:
Alterando a programação de instantâneos
Como mencionei, quando criamos uma publicação, podemos configurar um intervalo de snapshot do Snapshot Agent tela. Podemos alterar o intervalo de instantâneo alterando o agendamento de um trabalho SQL de replicação de instantâneo. Para fazer isso, no servidor do editor, expanda SQL Server Agent>> Expanda Trabalhos e clique com o botão direito do mouse no trabalho de replicação de instantâneo (TTI412-VM\SQL2017-AdventureWorks2014-Snapshot_Replication-4) e selecione Propriedades . Veja a seguinte imagem:
A caixa de diálogo Propriedades do trabalho é aberta. Selecione os Programações página, selecione a programação e clique em Editar . Veja a seguinte imagem:
O Cronograma de Trabalho caixa de diálogo é aberta. configure a programação apropriada e clique em OK .
A configuração acima gera um instantâneo a cada hora.
Alterando o local dos arquivos de instantâneo
Também podemos colocar os arquivos de instantâneo em uma pasta diferente. Para esta demonstração, os arquivos de instantâneo são armazenados na pasta padrão que é E:\ReplicationSnapshot . Vou alterar os arquivos de instantâneos de localização. O novo local será E:\Snapshot\PersonsSchema .
Podemos alterar o local do instantâneo nas propriedades de publicação. Para abrir as propriedades da publicação, clique com o botão direito do mouse em Publicação local no servidor do editor e selecione Propriedades. Veja a seguinte imagem:
As Propriedades de publicação caixa de diálogo é aberta. Na caixa de diálogo, selecione Instantâneo . No Instantâneo tela, desmarque Colocar arquivos na pasta padrão opção e selecione a opção Colocar arquivos na seguinte pasta opção. Forneça um novo caminho na caixa de texto e clique em OK . Veja a seguinte imagem:
Quando realizamos essa alteração, o instantâneo atual se torna inválido. Portanto, após alterar essa configuração, você receberá um aviso conforme mostrado na imagem a seguir:
Clique em sim. Ele gerará um novo instantâneo e salvará os arquivos de instantâneo em E:\Snapshots\PersonsSchema\unc . Veja a seguinte imagem:
Visualizando o status da replicação
Você pode usar o Monitor de replicação para visualizar o status de replicação. Para abrir o monitor de replicação, expanda a Replicatio n node>> expandir Publicações Locais>> clique com o botão direito do mouse em Snapshot_Replication e selecione Iniciar o Monitor de replicação . Veja a imagem a seguir.
Usando o monitor de replicação, você pode visualizar:
- Status da replicação
- Lista de assinaturas
- Data e hora da última sincronização.
Usando o monitor de replicação, você pode visualizar o status do agente e dos trabalhos relacionados ao trabalho. Para visualizá-lo, selecione Agente no Monitor de replicação caixa de diálogo. Veja a seguinte imagem:
Sob o Agente guia, você pode ver os seguintes detalhes:
- Status do job de publicação.
- Nome do trabalho de publicação.
- Última data e hora de início do trabalho de publicação.
- Duração até a conclusão do trabalho de publicação.
- A última ação foi realizada pelo trabalho de publicação.
Resumo
Neste artigo, expliquei:
- Alto nível é o resumo da replicação de snapshots.
- Como configurar editor e assinante.
- Monitor de replicação e seu uso.
Ferramentas úteis:
dbForge Data Compare for SQL Server – poderosa ferramenta de comparação SQL capaz de trabalhar com big data.
dbForge Schema Compare for SQL Server – ferramenta confiável que economiza seu tempo e esforço ao comparar e sincronizar bancos de dados no SQL Server.