Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
É importante planear a segurança antes de configurar a topologia de replicação. Este tutorial mostra-te como proteger melhor uma topologia de replicação. Também mostra como configurar a distribuição, que é o primeiro passo para replicar dados. Tens de completar este tutorial antes de qualquer um dos outros.
Observação
Para replicar dados de forma segura entre servidores, deve implementar todas as recomendações nas melhores práticas de segurança de Replicação.
Este tutorial ensina-o a preparar um servidor para que a replicação possa correr de forma segura com o mínimo de privilégios.
Neste tutorial, aprenderás como:
- Criar contas Windows para replicação.
- Prepara a pasta de snapshots.
- Configurar a distribuição.
Pré-requisitos
Este tutorial destina-se a utilizadores familiarizados com operações fundamentais de bases de dados, mas que têm exposição limitada à replicação.
Para completar este tutorial, precisa do SQL Server, SQL Server Management Studio (SSMS) e de uma base de dados AdventureWorks:
No servidor do editor (fonte), instale:
Qualquer edição do SQL Server, exceto SQL Server Express ou SQL Server Compact. Estas edições não podem ser editoras de replicação.
A base de dados de
AdventureWorks2025exemplo. Para reforçar a segurança, as bases de dados de exemplo não são instaladas por defeito.
No servidor assinante (destino), instale qualquer edição do SQL Server, exceto o SQL Server Compact. O SQL Server Compact não pode ser subscritor na replicação transacional.
Instale o SQL Server Management Studio.
Descarregue a base de dados de exemplos do AdventureWorks. Para instruções sobre como restaurar uma base de dados no SSMS, consulte Restaurar uma Cópia de Segurança da Base de Dados Usando SSMS.
Observação
A replicação não é suportada em instâncias do SQL Server separadas por mais de duas versões. Para mais informações, veja Retrocompatibilidade de Replicação.
No SQL Server Management Studio, deve conectar-se ao publicador e ao assinante usando um login que seja membro do papel fixo de servidor sysadmin. Para mais informações sobre esta função, veja Funções ao nível do servidor.
Tempo estimado para completar este tutorial: 30 minutos
Criar contas Windows para replicação
Nesta secção, cria contas Windows para executar agentes de replicação. Cria-se uma conta Windows separada no servidor local para os seguintes agentes:
| Agente | Localização | Nome da conta |
|---|---|---|
| Agente de instantâneo | Editora | < machine_name>\repl_snapshot |
| Agente Leitor de Logs | Editora | < machine_name>\repl_logreader |
| Agente de Distribuição | Editora e assinante | < machine_name>\repl_distribution |
| Agente de fusão | Editora e assinante | < machine_name>\repl_merge |
Observação
Nos tutoriais de replicação, o editor e o distribuidor partilham a mesma instância (NODE1\SQL2016) do SQL Server. A instância de assinante (NODE2\SQL2016) é remota. O editor e o subscritor podem partilhar a mesma instância do SQL Server, mas não é um requisito. Se o editor e o assinante partilharem a mesma instância, os passos usados para criar contas no assinante não são necessários.
Crie contas Windows locais para agentes de replicação no publisher
Na editora, abre a Gestão de Computadores a partir das Ferramentas Administrativas no Painel de Controlo.
Em Ferramentas de Sistema, expanda os Utilizadores e Grupos Locais.
Clique com o botão direito em Utilizadores e depois selecione Novo Utilizador.
Introduza repl_snapshot na caixa de nome de utilizador , forneça a palavra-passe e outras informações relevantes, e depois selecione Criar para criar a conta repl_snapshot:
Repita o passo anterior para criar as contas repl_logreader, repl_distribution e repl_merge:
Selecione Fechar.
Crie contas Windows locais para agentes de replicação junto do assinante
No computador do assinante, abra o Gestor de Computadores nas Ferramentas Administrativas no Painel de Controlo.
Em Ferramentas de Sistema, expanda os Utilizadores e Grupos Locais.
Clique com o botão direito em Utilizadores e depois selecione Novo Utilizador.
Introduza repl_distribution na caixa de nome de utilizador, forneça a palavra-passe e outras informações relevantes, e depois selecione Criar para criar a conta repl_distribution.
Repita o passo anterior para criar a conta repl_merge.
Selecione Fechar.
Para mais informações, consulte a visão geral dos Agentes de Replicação.
Prepara a pasta de instantâneo
Nesta secção, configura a pasta snapshot que é usada para criar e armazenar o snapshot da publicação.
Crie uma partilha para a pasta snapshot e atribua permissões
No Explorador de Ficheiros, navegue até à pasta de dados do SQL Server. A localização padrão é C:\Program Files\Microsoft SQL Server\MSSQL. X\MSSQL\Data.
Cria uma nova pasta chamada repldata.
Clique com o botão direito nesta pasta e selecione Propriedades.
No separador Partilha na caixa de diálogo Propriedades repldata , selecione Partilha Avançada.
Na caixa de diálogo Partilha Avançada , selecione Partilhar esta Pasta e depois selecionar Permissões.
Na caixa de diálogo Permissões para repldata , selecione Adicionar. Na caixa Selecionar Utilizador, Computadores, Conta de Serviço ou Grupos, escreva o nome da conta do Snapshot Agent que criou anteriormente, tal como <Publisher_Machine_Name>\repl_snapshot. Selecione Verificar Nomes e, em seguida, selecione OK.
Repita o passo 6 para adicionar as outras duas contas que criou anteriormente: <Publisher_Machine_Name>\repl_merge e <Publisher_Machine_Name>\repl_distribution.
Depois de adicionar as três contas, atribua as seguintes permissões:
- repl_distribution: Leitura
- repl_merge: Leia
- repl_snapshot: Controlo Total
Depois de as permissões de partilha estarem configuradas corretamente, selecione OK para fechar a caixa de diálogo Permissões para repldata . Selecione OK para fechar a caixa de diálogo Partilha Avançada .
Na caixa de diálogo Propriedades repldata , selecione o separador Segurança e selecione Editar:
Na caixa de diálogo Permissões para repldata , selecione Adicionar. Na caixa Selecionar Utilizadores, Computadores, Contas de Serviço ou Grupos , escreva o nome da conta do Agente Snapshot que criou anteriormente, como <Publisher_Machine_Name>\repl_snapshot. Selecione Verificar Nomes e, em seguida, selecione OK.
Repita o passo anterior para adicionar permissões ao Agente de Distribuição como <Publisher_Machine_Name>\repl_distribution, e ao Agente de Fusão como <Publisher_Machine_Name>\repl_merge.
Verifique se as seguintes permissões são permitidas:
- repl_distribution: Leitura
- repl_merge: Leia
- repl_snapshot: Controlo Total
Selecione novamente o separador Partilhar e indique o Caminho de Rede para a partilha. Precisas deste caminho mais tarde, quando estiveres a configurar a tua pasta de snapshots.
Selecione OK para fechar a caixa de diálogo Propriedades do repldata .
Para obter mais informações, consulte Proteger a pasta de snapshots.
Configurar distribuição
Nesta secção, configura a distribuição na editora e define as permissões necessárias nas bases de dados de publicação e distribuição. Se já configurou o distribuidor, deve desativar a publicação e distribuição antes de começar esta secção. Não desative a publicação e distribuição se tiver de manter uma topologia de replicação existente, especialmente em produção.
Configurar um editor com um distribuidor remoto está fora do âmbito deste tutorial.
Configurar a distribuição no publicador
Liga-te ao publicador no SQL Server Management Studio e depois expande o nó do servidor.
Clique com o botão direito na pasta Replicação e selecione Configurar Distribuição:
Se se ligar ao SQL Server usando localhost em vez do nome real do servidor, é um aviso de que o SQL Server não consegue ligar ao localhost ou ao endereço IP. Selecione OK na caixa de aviso. Na caixa de diálogo Ligar ao Servidor , altere o nome do servidor de localhost ou endereço IP para o nome do seu servidor. Em seguida, selecione Conectar.
Atualmente, há um problema conhecido com o SQL Server Management Studio (SSMS) 18.0 (e posteriores), em que não aparece uma mensagem de aviso ao ligar-se ao Distribuidor com o endereço IP, mas continua a ser inválida. O nome real do servidor deve ser usado ao ligar ao Distribuidor.
Observação
O nome do servidor pode ser especificado como
<Hostname>,<PortNumber>para uma instância padrão ou<Hostname>\<InstanceName>,<PortNumber>para uma instância nomeada. Especifique o número da porta para sua conexão quando o SQL Server for implantado no Linux ou no Windows com uma porta personalizada e o serviço do navegador estiver desabilitado. O uso de números de porta personalizados para distribuidor remoto se aplica ao SQL Server 2019 (15.x) e versões posteriores.O Assistente de Configuração de Distribuição inicia.
Na página do Distribuidor, selecione <'Nomedo do Servidor'>funcionará como um Distribuidor próprio; O SQL Server cria uma base de dados de distribuição e regista. Em seguida, selecione Seguinte.
Se o Agente SQL Server não estiver a correr, na página de Início do Agente SQL Server, selecione Sim, configure o serviço do Agente SQL Server para iniciar automaticamente. Selecione Avançar.
Introduza o caminho \\<Publisher_Machine_Name>\repldata na caixa da pasta Snapshot e depois selecione Próximo. Este caminho deve corresponder ao que viste anteriormente em Network Path para a pasta das propriedades de repldata, depois de configurares as propriedades de partilha.
Aceite os valores predefinidos nas restantes páginas do assistente.
Selecione Terminar para ativar a distribuição.
Pode ver o seguinte erro ao configurar o distribuidor. É uma indicação de que a conta que foi usada para iniciar a conta do SQL Server Agent não é administradora no sistema. Ou tens de iniciar manualmente o SQL Server Agent, conceder essas permissões à conta existente, ou modificar qual a conta que o SQL Server Agent está a usar.
Se a sua instância SQL Server Management Studio estiver a correr com direitos administrativos, pode iniciar o SQL Agent manualmente a partir do SSMS:
Observação
Se o SQL Agent não começar visivelmente, clique com o botão direito no SQL Server Agent no SSMS e selecione Atualizar. Se ainda estiver no estado parado, inicia-o manualmente a partir do Gestor de Configuração do SQL Server.
Definir permissões de base de dados
No SQL Server Management Studio, expanda Segurança, clique com o botão direito em Logins e depois selecione Novo Login:
Na página Geral , selecione Pesquisar. Introduza <Publisher_Machine_Name>\repl_snapshot na caixa Introduza o nome do objeto para selecionar, selecione Verificar Nomes e, em seguida, OK.
Na página de Mapeamento do Utilizador, na lista de Utilizadores mapeados para este login, selecione tanto as bases de dados de distribuição como
AdventureWorks2025outras bases de dados.Na lista de membros das funções da base de dados, selecione a função db_owner para o login de utilizador em ambas as bases de dados.
Selecione OK para criar o login.
Repita os passos 1-4 para criar um login para as outras contas locais (repl_distribution, repl_logreader e repl_merge). Estes logins também devem ser mapeados para utilizadores que são membros da função fixa de base de dados db_owner nas bases de dados distribuição e AdventureWorks.
Para mais informações, consulte Configurar distribuição e modelo de segurança do Agente de Replicação.