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.
Antes de desenvolver um aplicativo que usa funcionalidades de replicação, você deve seguir as seguintes etapas gerais de planejamento:
Defina sua topologia de replicação.
Definir 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 tópico descreve essas etapas com mais detalhes. Para ajudar a ilustrar o processo de planejamento, um exemplo foi incluído.
Definindo a Topologia de Replicação
A primeira etapa na replicação de programação é definir a topologia de replicação para seu aplicativo. Se você estiver escrevendo um aplicativo que usará uma topologia de replicação existente, como um aplicativo cliente que acessa dados em um assinante existente, deverá passar para a próxima etapa.
Observação
Em alguns casos, implantar a topologia de replicação será a única finalidade do aplicativo.
A topologia de replicação que você define depende de muitos fatores, incluindo o seguinte:
Se os dados replicados precisam ou não ser atualizados e por quem.
Sua distribuição de dados precisa de consistência, autonomia e latência.
O ambiente de replicação, incluindo usuários de negócios, infraestrutura técnica, rede e segurança e características de dados.
Os tipos de opções de replicação e replicação.
As topologias de replicação e como elas se alinham com os tipos de replicação.
Se você for novo na replicação do Microsoft SQL Server, consulte Tipos de Replicação.
Definindo a funcionalidade do aplicativo
Depois que a topologia de replicação tiver sido definida, você deverá decidir sobre as funcionalidades que seu aplicativo oferecerá. Essas funcionalidades podem variar de um script que sincroniza uma assinatura a um aplicativo com uma interface do usuário para configurar a replicação. A replicação dá suporte às seguintes tarefas gerais de programação:
Configurando a replicação.
Sincronizando Assinantes.
Mantendo uma topologia de replicação.
Monitorando uma topologia de replicação.
Solução de problemas de replicação.
Também é comum estender seu aplicativo combinando funcionalidades de replicação com outras funcionalidades fornecidas pelo SQL Server. A tabela a seguir destaca algumas funcionalidades estendidas que você pode fornecer em seu aplicativo de replicação.
| Funcionalidade | Exemplo |
|---|---|
| Administração do servidor usando SMO (SQL Server Management Objects) | Um aplicativo que permite que um administrador anexe e configure um banco de dados como um Publicador em uma topologia de replicação. |
| Acesso a dados usando ADO.NET | Um aplicativo que permite que os usuários acessem e alterem programaticamente os dados de vendas replicados em um banco de dados do Assinante local enquanto estiverem offline e, em seguida, conectem e sincronizem a assinatura pull clicando em um botão. |
Planejando a segurança
A segurança é importante em qualquer aplicativo e o planejamento de segurança deve ser concluído antes de escrever qualquer código. A segurança do aplicativo pode ser dividida em três partes principais: proteger o banco de dados, proteger a replicação e escrever código seguro.
Os tópicos a seguir fornecem informações sobre segurança:
Escolhendo um ambiente de desenvolvimento
Ao desenvolver um aplicativo de replicação, há três ambientes de desenvolvimento básicos a serem considerados. Cada ambiente de desenvolvimento tem acesso às mesmas funcionalidades de replicação com algumas exceções. Os aplicativos de replicação podem ser desenvolvidos em cada um dos ambientes a seguir.
Código gerenciado
Ambiente de desenvolvimento orientado a objetos que aproveita os benefícios da programação do .NET Framework e do CLR (Common Language Runtime) do .NET. O código gerenciado é o ambiente de programação recomendado para o desenvolvimento do .NET e os aplicativos do SQL Server. As interfaces de replicação gerenciadas permitem a programação da administração de replicação de maneira orientada a objetos sem precisar conhecer o Transact-SQL e também fornecem algumas funcionalidades de retorno de chamada ao executar agentes de replicação que não estão disponíveis nos scripts. O código gerenciado é o melhor ambiente para o desenvolvimento de componentes reutilizáveis e aplicativos de interface do usuário.
Criação de scripts
Aplicativos simples que executam uma série de comandos como procedimentos armazenados do sistema de replicação em Transact-SQL scripts ou comandos em arquivos em lote. Embora você possa executar scripts em um ambiente gerenciado usando o provedor gerenciado em processo do SQL Server, a mesma funcionalidade pode ser obtida usando interfaces de replicação gerenciadas, que também fornecem funcionalidades de retorno de chamada. O script é o melhor ambiente para executar tarefas que serão executadas apenas algumas vezes e em que as funcionalidades de retorno de chamada não são necessárias, como instalar um servidor de replicação.
Código nativo
Ambiente de desenvolvimento orientado a objetos que utiliza o acesso direto ao sistema ou objetos COM, de modo que o código não seja gerenciado pelo CLR. As interfaces de replicação de código nativo são preteridas ou descontinuadas. Para obter mais informações, consulte Recursos preteridos na replicação do SQL Server ou compatibilidade com versões anteriores de replicação.
Escolha a interface de programação de replicação apropriada
A etapa de planejamento final é escolher a interface de programação de replicação apropriada que implementa a funcionalidade de replicação desejada para o ambiente de desenvolvimento escolhido. A tabela a seguir mostra as interfaces de programação de replicação disponíveis.
| Interfase | Ambiente | Utiliza |
|---|---|---|
| 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 a lógica personalizada ao processo de sincronização de mesclagem. |
| Procedimentos armazenados de replicação (Transact-SQL) | Script | Administração e monitoramento. |
| Conceitos de Executáveis do Agente de Replicação | Script | 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 precisarão usar computadores portáteis ou PDAs (assistentes digitais pessoais) para alterar os dados do cliente e adicionar novos pedidos. Em seguida, as alterações precisarão ser sincronizadas com o Publicador quando o representante de vendas conectar o laptop à rede.
Para este aplicativo, as etapas de planejamento podem ser semelhantes às seguintes:
A topologia de replicação para este aplicativo já existe. No entanto, uma nova assinatura pull deve ser criada no cliente. A publicação deve usar filtros parametrizados para replicar um conjunto exclusivo de dados para cada representante de vendas.
Além do acesso de dados típico necessário para um aplicativo de vendas, esse aplicativo deve permitir que um vendedor sincronize a assinatura pull sob demanda clicando em um botão. Como um representante de vendas instalará e executará o aplicativo, ele também precisa ser capaz de configurar uma assinatura e aplicar o instantâneo inicial no cliente. Opcionalmente, o aplicativo usará a infraestrutura fornecida pelo Windows para detectar conectividade sem fio para sincronizar automaticamente a assinatura quando uma conexão for detectada.
Siga todas as diretrizes de segurança para replicação, incluindo o uso da Autenticação do Windows e uma VPN (rede virtual privada) ao se conectar ao editor. Se estiver implementando a sincronização da Web, use uma conexão SSL (camada de soquetes seguros). Para obter mais informações, consulte Configurar a Sincronização da Web.
Para aproveitar os recursos do .NET Framework, o aplicativo é desenvolvido usando uma linguagem de código gerenciado.
Com base nesses requisitos, a interface gerenciada RMO (Replication Management Objects) pode fornecer toda a funcionalidade de replicação necessária para este aplicativo.
Este cenário de exemplo foi implementado em um aplicativo de exemplo fornecido com o SQL Server.