Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A opção de sincronização da Web para a Replicação de Mesclagem do SQL Server permite a replicação de dados usando o protocolo HTTPS pela Internet. Para usar a sincronização da Web, primeiro você precisa executar as seguintes ações de configuração:
Crie novas contas de domínio e mapeie logons do SQL Server.
Configure o computador que está executando o Microsoft Internet Information Services (IIS) para sincronizar assinaturas.
Configurar uma publicação de mesclagem para permitir a sincronização via Web.
Configure uma ou mais assinaturas para usar a sincronização da Web.
Observação
Se você planeja replicar grandes volumes de dados ou usar tipos de dados grandes, como varchar(max), leia a seção "Replicando grandes volumes de dados" neste tópico.
Para configurar com êxito a sincronização da Web, você deve decidir como configurará a segurança para atender aos seus requisitos e políticas específicos. É melhor tomar essas decisões e criar as contas necessárias antes de tentar configurar o IIS, a publicação e as assinaturas.
Nos procedimentos a seguir, uma configuração de segurança simplificada usando contas locais é descrita, para fins de brevidade. Essa configuração simplificada é adequada para instalações em que o IIS e o Publicador e o Distribuidor do SQL Server estão em execução no mesmo computador, embora seja muito mais provável (e recomendado) que você use uma topologia de vários servidores para uma instalação de produção. Você pode substituir contas de domínio para as contas locais nos procedimentos.
Criando novas contas e mapeando logons do SQL Server
O Ouvinte de Replicação do SQL Server (replisapi.dll) conecta-se ao Publicador representando a conta especificada para o pool de aplicativos associado ao site de replicação.
A conta usada para o Ouvinte de Replicação do SQL Server deve ter permissões conforme descrito na Segurança do Agente de Mesclagem, na seção "Conectar-se ao Publicador ou Distribuidor". Em resumo, a conta deve:
Seja um membro da lista de acesso à publicação (PAL).
Ser mapeada para um logon associado a um usuário no banco de dados de publicação.
Ser mapeada para um logon associado a um usuário no banco de dados de distribuição.
Ter permissões de Leitura no compartilhamento de instantâneos.
Se esta for a primeira vez que você estiver usando a Replicação do SQL Server, você também precisará criar contas e logons para os agentes de replicação. Para obter mais informações, consulte as seções "Configurando a publicação" e "Configurando a assinatura" neste tópico.
Antes de configurar a sincronização da Web, recomendamos que você leia a seção "Práticas recomendadas de segurança para sincronização da Web" neste tópico. Para obter mais informações sobre a segurança de sincronização da Web, consulte Arquitetura de Segurança para Sincronização da Web.
Configurando o computador que está executando o IIS
A sincronização da Web requer que você instale e configure o IIS. Você precisará da URL para o site de replicação antes de configurar uma publicação para usar a sincronização da Web.
Há suporte para sincronização da Web no IIS a partir da versão 5.0. Não há suporte para o Assistente para Configurar Sincronização da Web no IIS versão 7.0. A partir do SQL Server 2012, para usar o componente de sincronização da Web no servidor IIS, recomendamos que os usuários instalem o SQL Server com replicação. Essa pode ser a edição gratuita do SQL Server Express.
O SSL é necessário para sincronização da Web. Você precisará de um certificado de segurança emitido por uma autoridade de certificação. Somente para fins de teste, você pode usar um certificado de segurança auto-emitido.
Para configurar o IIS para sincronização da Web
SQL Server Management Studio: configurar o IIS para sincronização da Web
SQL Server Management Studio: configurar o IIS 7 para sincronização da Web
Criando um Jardim da Web
O Ouvinte de Replicação do SQL Server dá suporte a duas operações de sincronização simultâneas por thread. Exceder esse limite pode fazer com que o Ouvinte de Replicação pare de responder. O número de threads alocados para replisapi.dll é determinado pela propriedade Maximum Worker Processes do pool de aplicativos. Por padrão, essa propriedade é definida como 1.
Você pode dar suporte a um maior número de operações de sincronização simultâneas por CPU aumentando o valor da propriedade Maximum Worker Process. Escalar horizontalmente aumentando o número de processos de trabalho por CPU é conhecido como a criação de um "jardim da Web".
A jardinagem na web permitirá que mais de dois assinantes sincronizem ao mesmo tempo. Ele também aumentará a utilização da CPU replisapi.dll, o que pode afetar negativamente o desempenho geral do servidor. É importante equilibrar essas considerações quando você escolhe um valor para o Máximo de Processos de Trabalho.
Para aumentar o número máximo de processos de trabalho no IIS 7
No Gerenciador de Serviços de Informações da Internet (IIS), expanda o nó do servidor local e clique no nó do Pool de Aplicativos.
Selecione o pool de aplicativos associado ao site de sincronização da Web e clique em Configurações Avançadas no painel Ações .
Na caixa de diálogo Configurações Avançadas, no título Modelo de Processo , clique na linha rotulada Máximo de Processos de Trabalho. Altere o valor da propriedade e clique em OK.
Configurando a publicação
Para usar a sincronização da Web, crie uma publicação da mesma maneira que faria para uma topologia de mesclagem padrão. Para obter mais informações, consulte Publicar Dados e Objetos de Banco de Dados.
Depois que a publicação for criada, habilite a opção para permitir a sincronização da Web usando um dos seguintes métodos: SQL Server Management Studio, Transact-SQL ou RMO (Replication Management Objects). Para habilitar a sincronização da Web, você precisará fornecer o endereço do servidor Web para conexões dos assinantes.
Se você estiver usando um Publicador pela primeira vez, também deverá configurar um Distribuidor e um compartilhamento de instantâneos. O Agente de Mesclagem em cada Assinante deve ter permissões de leitura no compartilhamento de snapshots. Para obter mais informações, consulte Configurar a Distribuição e Proteger a Pasta de Instantâneo.
gen é uma palavra reservada em arquivos xml websync. Não tente publicar tabelas contendo colunas nomeadas gen.
Configurando a assinatura
Depois de habilitar uma publicação e configurar o IIS, crie uma assinatura pull e especifique que a assinatura pull deve ser sincronizada usando o IIS. (A sincronização da Web só tem suporte para assinaturas pull.)
Atualização de uma versão anterior do SQL Server
Se você tiver uma topologia de sincronização da Web existente configurada e atualizar o SQL Server, deverá garantir que a versão mais recente do Replisapi.dll seja copiada para o diretório virtual usado pela sincronização da Web. Por padrão, a versão mais recente do Replisapi.dll está localizada em C:\Arquivos de Programas\Microsoft SQL Server\<nnn>\COM.
Replicando grandes volumes de dados
Para ajudar a evitar possíveis problemas de memória em computadores assinantes, a sincronização da Web usa um tamanho máximo padrão de 100 MB para o arquivo XML usado para transferir alterações. O limite pode ser aumentado definindo a seguinte chave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication
WebSyncMaxXmlSize DWORD 2000000
O intervalo de valores aceitáveis para essa chave é de 100 MB a 4 GB. O valor é especificado em KB. Definir esse parâmetro como um valor alto não garante que você possa sincronizar essa quantidade de dados. O limite efetivo é restringido pela quantidade de memória contígua disponível no computador assinante. Se você precisar ter um valor maior que 100 MB, recomendamos aumentar o valor incrementalmente e testar o consumo de memória com uma carga de trabalho típica no Assinante.
O tamanho máximo do arquivo XML é de 4 GB, mas a replicação sincroniza as alterações desse arquivo em lotes. O tamanho máximo do lote de dados e metadados é de 25 MB. Você deve garantir que os dados em cada lote não excedam aproximadamente 20 MB, o que permite metadados e qualquer outra sobrecarga. Esse limite tem as seguintes implicações:
Não é possível replicar nenhuma coluna que faça com que os dados e metadados excedam 25 MB. Isso pode ser um problema quando você está replicando linhas que contêm tipos de dados grandes, como
varchar(max).Se você replicar grandes volumes de dados, talvez seja necessário ajustar o tamanho do lote do Merge Agent.
O tamanho do lote para replicação por mesclagem é medido em gerações, que são coleções de alterações realizadas por artigo. O número de gerações em um lote é especificado usando osDownloadGenerationsPerBatchUploadGenerationsPerBatch parâmetros do Merge Agent. Para obter mais informações, consulte Replication Merge Agent.
Para grandes volumes de dados, especifique um pequeno número para cada um dos parâmetros de envio em lote. Recomendamos que você comece com um valor de 10 e ajuste com base nas necessidades e no desempenho do aplicativo. Normalmente, esses parâmetros são especificados em um perfil de agente. Para obter mais informações sobre perfis, consulte Perfis do Agente de Replicação.
Práticas recomendadas de segurança para sincronização da Web
Há muitas opções para configurações relacionadas à segurança na sincronização da Web. Recomendamos a seguinte abordagem:
O Distribuidor e o Publicador do SQL Server podem estar no mesmo computador (uma configuração típica para replicação de mesclagem). No entanto, o IIS deve ser instalado em um computador separado.
Use o SSL (Secure Sockets Layer) para criptografar a conexão entre o Assinante e o computador que executa o IIS. Isso é necessário para sincronização da Web.
Use a Autenticação Básica para conexões do Assinante com o IIS. Usando a Autenticação Básica, o IIS pode fazer conexões com o Publicador/Distribuidor em nome do Assinante sem a necessidade de delegação. A delegação será necessária se você usar a Autenticação Integrada.
Observação
A Autenticação Básica é o método pelo qual as credenciais são passadas para o IIS. A Autenticação Básica não impede a especificação de contas de domínio do Windows para conexões feitas ao IIS.
Especifique que o Agente de Instantâneo deve ser executado em uma conta de domínio do Windows, e que também deve fazer conexões usando essa mesma conta. (Esta é a configuração padrão.) Especifique que cada Agente de Mesclagem deve ser executado na conta de domínio do usuário que usa o computador assinante e especifique que o agente deve fazer conexões como essa conta.
Para obter mais informações sobre as permissões exigidas pelos agentes, consulte o Modelo de Segurança do Agente de Replicação.
Especifique a mesma conta de domínio que a que o Merge Agent usa quando você especifica uma conta e uma senha na página Informações do Servidor Web do Assistente para Nova Assinatura ou quando você especifica valores para os parâmetros @internet_url e @internet_login de sp_addpullsubscription_agent. Essa conta deve ter permissões de leitura para o compartilhamento de instantâneos.
Cada publicação deve usar um diretório virtual separado para o IIS.
A conta sob a qual o Ouvinte de Replicação do SQL Server (Replisapi.dll) é executado também é a conta que se conectará ao Publicador e ao Distribuidor durante a sincronização. Essa conta deve ser mapeada para uma conta de login do SQL no Publicador e Distribuidor. Para obter mais informações, consulte a seção "Definindo permissões para o ouvinte de replicação do SQL Server" na seção Configurar o IIS para Sincronização da Web.
Você pode usar o FTP para entregar o instantâneo do Publicador para o computador que está executando o IIS. O instantâneo sempre é entregue do computador que está executando o IIS para o Assinante usando HTTPS. Para obter mais informações, consulte Transferir instantâneos pelo FTP.
Se os servidores na topologia de replicação estiverem por trás de um firewall, talvez seja necessário abrir portas no firewall para habilitar a sincronização da Web.
O computador Assinante se conecta ao computador que está executando o IIS por HTTPS usando SSL, que normalmente está configurado para usar a porta 443. Os Assinantes compactos do SQL Server também podem se conectar via HTTP, que normalmente é configurado para usar a porta 80.
O computador que está executando o IIS normalmente se conecta ao Publicador ou Distribuidor usando a porta 1433 (instância padrão). Quando o Publicador ou Distribuidor é uma instância nomeada em um servidor com outra instância padrão, a porta 1500 normalmente é usada para se conectar à instância nomeada.
Se o computador que executa o IIS for separado do Distribuidor por um firewall e um compartilhamento FTP for usado para entrega de instantâneos, as portas usadas para FTP deverão ser abertas. Para obter mais informações, consulte Transferir instantâneos pelo FTP.
Importante
A abertura de portas no firewall pode deixar o servidor exposto a ataques mal-intencionados. Certifique-se de conhecer os sistemas de firewall antes de abrir portas. Para obter mais informações, consulte Security Considerations for a SQL Server Installation.