Considerações sobre todos os tipos de replicação
Esta seção da documentação inclui as áreas que devem ser consideradas antes de implementar a replicação, como as colunas de identidade, restrições e tipos de dados. Este tópico abrange áreas que afetam todos os tipos de replicação e os tópicos a seguir fornecem informações adicionais:
Controlando restrições, identidades e gatilhos com NOT FOR REPLICATION
Usando várias versões do SQL Server em uma topologia de replicação
Além destes tópicos, o tópico para cada recurso de replicação descreve as considerações para implementar o recurso.
SQL Server Agent
A replicação usa programas autônomos, chamados agentes, para efetuar as tarefas associadas ao rastreamento de alterações e dados de distribuição. Por padrão, os agentes de replicação são executados como trabalhos programados sob o AgenteSQL Server. O Agente SQL Server deve estar em execução para os trabalhos que serão executados. Por padrão, o serviço do agente SQL Server é desabilitado quando o SQL Server é instalado, a menos que você escolha explicitamente iniciar automaticamente o serviço durante a instalação. Para obter mais informações sobre como iniciar o serviço do agente, SQL Serverconsulte Iniciando o SQL Server Agent.
Considerações sobre segurança
É importante entender como proteger um ambiente de replicação para proteger os dados e a lógica de negócios em seu aplicativo. Essencialmente, a proteção de seu ambiente de replicação é uma questão de compreender suas opções de autorização e autenticação, o uso apropriado dos recursos de filtragem de replicação e aprender medidas específicas para proteger cada parte do ambiente de replicação (incluindo Distribuidor, Publicador, Assinante, e a pasta de instantâneo). Para obter mais informações, consulte Segurança e proteção (Replicação).
Considerações administrativas
Depois que você configurar a replicação, é importante entender como administrar uma topologia de replicação. Para obter informações sobre as práticas recomendadas para administrar a replicação, consulte Práticas recomendadas para administração de replicação. Este tópico fornece diretrizes básicas de práticas recomendadas em uma série de áreas com vínculos para mais informações para cada área. Além das seguintes diretrizes de práticas recomendadas apresentadas neste tópico, considere a leitura do tópico de perguntas freqüentes para se familiarizar com as questões e problemas mais comuns: Perguntas freqüentes para os administradores de replicação.
Considerações de desempenho e rede
Existem várias práticas recomendadas relacionadas a desempenho a serem seguidas em áreas como:
Servidor e hardware de rede
Design do banco de dados
Configuração do Distribuidor
Design e opções de publicação
Design e uso de filtro
Opções de Assinatura
Opções de instantâneo
Parâmetros de agente
Manutenção
Para obter mais informações, consulte Desempenho (Replicação).
Se você estiver replicando em uma conexão lenta, os perfis dos agentes envolvidos em replicação poderão ser personalizados. As opções de configuração variam com determinado agente cujo perfil estiver sendo configurado. Para obter mais informações, consulte Perfis do Replication Agent e Uma rede lenta está causando problemas.
A velocidade de rede é freqüentemente a questão mais importante ao aplicar o instantâneo inicial. O volume de alterações de dados com incremento pode ser baixo, mas o volume de dados inicialmente distribuído pode ser alto. As possíveis soluções incluem:
Transferência do instantâneo com o uso de um CD-ROM ou dispositivo de fita. Para obter mais informações, consulte Locais da pasta de instantâneos alternativos e Instantâneos compactados.
Inicializando uma assinatura sem um instantâneo Para obter mais informações, consulte Inicializando uma assinatura transacional sem um instantâneo e Inicializando uma assinatura de mesclagem sem instantâneo.
Especificando nomes de servidores em topologias de replicação
Ao especificar nomes de instâncias de servidor que participam de replicação, você deve fornecer o nome no formato do nome da instância do servidor registrado do SQL Server. Por exemplo, você deve usar o nome da instância do SQL Server ao especificar os parâmetros do Publicador ou Assinante para os procedimentos armazenados de replicação ou configurações de conexão do agente de replicação na linha de comando. Se o nome de rede da instância do SQL Server diferir do nome de instância registrado, as conexões de replicação feitas por agentes não terão êxito. Se o nome de rede da instância e o nome de instância do SQL Server diferirem, considere a adição do nome de instância do SQL Server como nome de rede válido. Um método para definir um nome de rede alternativo é adicionar isto ao arquivo de hosts local. O arquivo de hosts local fica por padrão situado em WINDOWS\system32\drivers\etc ou WINNT\system32\drivers\etc. Para obter mais informações, consulte a documentação do Windows.
Por exemplo, se o nome do computador for comp1 e o computador possui um endereço IP 10.193.17.129, e o nome de instância for inst1/instname, adicione a entrada a seguir para os arquivos de host:
10.193.17.129 inst1
Integridade de dados
Para as topologias que permitem atualizações nos Assinantes, você deve assegurar que a integridade do aplicativo seja preservada para cada Assinante. Todos os controles usados para validar as alterações de dados no Publicador, como as restrições, devem estar presentes no Assinante ou serem controladas no aplicativo. Para obter informações sobre os agentes de replicação e restrições ao Assinante, consulte Controlando restrições, identidades e gatilhos com NOT FOR REPLICATION.
Conflitos de dados
Para o caso das topologias que permitem atualizações nos Assinantes, projete seu aplicativo para minimizar conflitos. Se o Assinante precisa ler os dados e não precisa atualizar esses dados, os conflitos serão evitados. O particionamento de dados de forma lógica de acordo com as localizações geográficas ou usos empresariais, também pode evitar que os usuários atualizem os mesmos valores de dados, e assim evitem os conflitos. Para obter mais informações sobre particionamento de dados, consulte Filtrando dados publicados.
Tipos de dados de objeto grande (LOB).
Os tipos de dados text, ntext e imagesão preteridos. Recomendamos que você use os tipos de dados varchar(max), nvarchar(max), varbinary(max), respectivamente. Se você usa os tipos de dados text, ntext, e image, consulte a seção "Tipos de dados de objeto grande (LOB)" nos tópicos a seguir para obter mais informações: Considerações sobre replicação transacional e Considerações sobre a replicação de mesclagem.
Os instantâneos de modo de caractere são usados por Assinantes não-SQL Server Assinantes não-SQL Server e Assinantes que executam o MicrosoftSQL Server Compact 3.5 SP1. Se você usar um instantâneo modo caractere, os tipos LOB são convertidos para Unicode, que faz com que os dados LOB do arquivo de instantâneo sejam quatro vezes maior do que os mesmos dados do banco de dados de publicação. Quando os dados são copiados para o banco de dados de assinatura, eles são convertidos novamente, com o resultado sendo do mesmo tamanho dos dados do banco de dados de publicação.
Mapeamento de tipo de dados
Se uma topologia de replicação incluir as versões anteriores do SQL Server, SQL Server Compact 3.5 SP1, Assinantes não-SQL Server ou Assinantes não-SQL Server, os tipos de dados serão mapeados entre os bancos de dados. Para obter uma lista de mapeamentos de tipo de dados, consulte:
Colunas de identidade
Para que colunas de identidade sejam usadas em uma topologia de replicação que tenha atualizações em mais de um nó, cada nó da topologia da replicação precisará usar um intervalo diferente de valores de identidade, de modo que não ocorram duplicatas. A replicação gerencia as colunas de identidade em todos os tipos de publicações e assinatura, o que lhe permite gerenciar as colunas de forma manual ou fazer com que a replicação as gerencie de forma automática. Para obter mais informações, consulte Colunas de identidade de replicação.
Colunas computadas.
A replicação copia somente a definição de colunas computadas para o Assinante. O valor de cada linha do Assinante depende dos dados do Assinante e se a computação da coluna usa funções não deterministas. Se os dados no Publicador e no Assinante forem idênticos em um determinado point-in-time e a computação utilizar somente funções deterministas, os valores computados de uma nova linha serão idênticos. Se os dados forem diferentes ou se a computação utilizar uma ou mais funções não deterministas, os valores do Publicador e do Assinante poderão ser diferentes. Para obter mais informações sobre o determinismo de funções, consulte Funções determinísticas e não-determinísticas.