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.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Antes de desenvolver uma aplicação que utilize funcionalidades de replicação, siga estes passos gerais de planejamento:
Defina a sua topologia de replicação.
Defina a funcionalidade do aplicativo.
Planeje a segurança.
Escolha um ambiente de desenvolvimento.
Escolha a interface de programação de replicação apropriada.
O restante deste artigo descreve essas etapas com mais detalhes. Para ajudar a ilustrar o processo de planejamento, um exemplo é incluído.
Definindo a topologia de replicação
A primeira etapa da programação da replicação é definir a topologia de replicação para o seu aplicativo. Se você está escrevendo uma aplicação que usa uma topologia de replicação existente, como uma aplicação cliente que acessa dados de um assinante existente, avance para a próxima etapa.
Observação
Em alguns casos, a implantação da topologia de replicação é o único propósito da aplicação.
A topologia de replicação definida dependerá de muitos fatores, inclusive os seguintes:
Se os dados replicados precisam ser atualizados, e por quem.
As necessidades da distribuição de dados em relação à consistência, à autonomia e à latência.
O ambiente de replicação, incluindo usuários comerciais, infraestrutura técnica, rede e segurança e características de dados.
Os tipos de replicação e as opções de replicação.
As topologias de replicação e como elas se alinham aos tipos de replicação.
Se você é novo na replicação do Microsoft SQL Server, veja Tipos de Replicação.
Definindo funcionalidade da aplicação
Depois de definir a topologia de replicação, decida as funcionalidades que sua aplicação oferece. Essas funcionalidades poderão variar de um script que sincroniza uma assinatura até um aplicativo com uma interface do usuário para a configuração da replicação. A replicação oferece suporte às seguintes tarefas de programação gerais:
Configuração da replicação.
Sincronização de Assinantes.
Manutenção de uma topologia de replicação.
Monitoramento de uma topologia de replicação.
Solução de problemas de replicação.
Também é comum expandir sua aplicação combinando funcionalidades de replicação com outras funcionalidades fornecidas pelo SQL Server. A tabela a seguir realça algumas das funcionalidades estendidas que podem ser oferecidas em seu aplicativo de replicação.
| Funcionalidade | Exemplo |
|---|---|
| Administração de servidor usando SQL Server Management Objects (SMO) | Um aplicativo que permite a um administrador anexar e configurar um banco de dados como um Publicador em uma topologia de replicação. |
| Acesso a dados usando ADO.NET | Um aplicativo que permite aos usuários acessar e alterar programaticamente dados de vendas replicados em um banco de dados local de assinantes enquanto estão offline e, em seguida, conectar e sincronizar a assinatura pull selecionando um botão. |
Planejamento para segurança
A segurança é importante em qualquer aplicação, e você deve planejar a segurança antes de escrever qualquer código. A segurança do aplicativo pode ser dividida em três partes principais: proteção do banco de dados, proteção da replicação e escrita de código seguro.
Os seguintes artigos fornecem informações sobre segurança:
Escolha de um ambiente de desenvolvimento
Ao desenvolver uma aplicação de replicação, considere estes três ambientes básicos de desenvolvimento. Cada ambiente de desenvolvimento tem acesso às mesmas funcionalidades de replicação, com algumas exceções. Você pode desenvolver aplicações de replicação em cada um dos seguintes ambientes.
Código gerenciado
Ambiente de desenvolvimento orientado a objetos que aproveita os benefícios da programação do Framework .NET e do tempo de execução da linguagem comum .NET (CLR). O código gerenciado é o ambiente de programação recomendado para aplicativos de desenvolvimento .NET e SQL Server. Interfaces de replicação gerenciada permitem que você programe a administração de replicação de forma orientada a objetos, sem precisar conhecer Transact-SQL. Também oferece algumas funcionalidades de retorno de chamada ao executar agentes de replicação que não estão disponíveis em scripts. O código gerenciado é o melhor ambiente para o desenvolvimento de componentes e de aplicativos de interface do usuário reutilizáveis.
Scripts
Aplicativos simples que executam uma série de comandos como procedimentos armazenados do sistema de replicação em scripts Transact-SQL ou comandos em arquivos em lotes. Embora você possa executar scripts em um ambiente gerenciado usando o provedor gerenciado em processo do SQL Server, é possível obter a mesma funcionalidade usando interfaces de replicação gerenciada, que também oferecem funcionalidades de retorno de chamadas. Scripting é o melhor ambiente para executar tarefas que rodam apenas algumas vezes e onde funcionalidades de callback não são necessárias, como instalar um servidor de replicação.
Código nativo
Ambiente de desenvolvimento orientado a objetos que utiliza acesso direto ao sistema ou objetos COM, de modo que o código não é gerenciado pelo CLR. As interfaces de replicação do código nativo não estão disponíveis ou foram descontinuadas. Para obter mais informações, consulte Recursos preteridos na Replicação do SQL Server ou Compatibilidade com versões anteriores da replicação.
Escolha a interface de programação de replicação apropriada
A última etapa de planejamento é escolher a interface de programação de replicação apropriada que implementará a funcionalidade de replicação desejada para o ambiente de desenvolvimento escolhido. A tabela a seguir mostra as interfaces disponíveis para programação de replicação.
| Interface | Ambiente | Usos |
|---|---|---|
| Conceitos de Objetos de Gerenciamento de Replicação | Código gerenciado | Administração, monitoramento e sincronização. |
| Microsoft.SqlServer.Replication | Código gerenciado | Sincronização. |
| Microsoft.SqlServer.Replication.BusinessLogicSupport | Código gerenciado | Criação de manipuladores de lógica de negócios para integrar lógica personalizada ao processo de sincronização de mesclagem. |
| Procedimentos armazenados de replicação (Transact-SQL) | Scripting | Administração e monitoramento. |
| Conceitos dos executáveis do Replication Agent | Scripting | Sincronização. |
Exemplo
Na Adventure Works, os dados precisam ser publicados para 200 representantes de vendas em todo o mundo. Os representantes de vendas viajam com frequência e precisam usar laptops ou assistentes digitais pessoais (PDAs) para alterar dados dos clientes e adicionar novos pedidos. Os representantes de vendas precisam sincronizar as mudanças com o Publisher quando eles conectam o laptop à rede.
Para este aplicativo, as etapas de planejamento poderiam ser as seguintes:
A topologia de replicação para este aplicativo já existe. No entanto, você deve criar uma nova assinatura pull no cliente. Use filtros parametrizados na publicação para replicar um conjunto único de dados para cada representante de vendas.
Além do acesso a dados típico exigido para um aplicativo de venda, este aplicativo deve permitir que os vendedores sincronizem a assinatura pull sob demanda clicando em um botão. Como um representante de vendas instala e executa o aplicativo, ele também precisa ser capaz de configurar uma assinatura e aplicar o snapshot inicial ao cliente. Opcionalmente, o aplicativo utiliza a infraestrutura fornecida pelo Windows para detectar conectividade sem fio e sincronizar automaticamente a assinatura quando uma conexão é detectada.
Siga todas as diretrizes de segurança para replicação, incluindo o uso de Autenticação Windows e uma rede privada virtual (VPN) ao se conectar ao Publisher. Se você implementar a sincronização Web, use uma conexão Transport Layer Security (TLS), anteriormente conhecida como Secure Sockets Layer (SSL). Para obter mais informações, consulte Configurar sincronização da Web.
Para aproveitar os recursos do Framework .NET, desenvolva a aplicação usando uma linguagem de código gerenciada.
Com base nesses requisitos, a interface gerenciada do RMO (Replication Management Objects) pode oferecer toda a funcionalidade de replicação necessária para este aplicativo.
Você pode baixar o aplicativo de exemplo do AdventureWorks que implementa esse cenário de exemplo do SQL Server.