Você está na página 1de 5

Tecnologias & Produtos > SQL Server

Uma comparao tcnica entre os recursos de replicao e


acesso remoto a dados no SQL Server 2005 Mobile Edition 3.0
Debra Dove
Maro de 2005
Resumo: compare os conjuntos de recursos das duas solues de conectividade do Microsoft SQL Server
2005 Mobile Edition 3.0 (SQL Server Mobile), replicao de mesclagem e RDA (acesso remoto a dados), e
saiba qual delas pode ser mais vantajosa para o seu projeto. Este artigo tambm contm links para pginas
em ingls (7 pginas impressas).

Introduo
O Microsoft SQL Server 2005 Mobile Edition 3.0 (SQL Server Mobile) d suporte a dois mtodos de troca de
dados com um banco de dados do SQL Server:

Replicao de mesclagem, uma soluo robusta e cheia de recursos que permite a um aplicativo mvel
fazer alteraes autnomas em dados replicados e, posteriormente, mesclar essas alteraes com um
banco de dados do Microsoft SQL Server e resolver conflitos quando necessrio.

O RDA (acesso remoto a dados) permite que um aplicativo mvel acesse (receber) e envie dados para/de
uma tabela de banco de dados remoto do Microsoft SQL Server e uma tabela de banco de dados local do
SQL Server Mobile. O RDA tambm pode ser usado para emitir comandos SQL em um servidor que esteja
executando o SQL Server.
Incio da pgina

Conectando o SQL Server Mobile ao SQL Server


Quando voc usa o RDA ou a replicao, o SQL Server Mobile se conecta ao SQL Server por meio de um
servidor IIS (Servios de informaes da Internet) da Microsoft. Como a conectividade com o SQL Server
administrada pelo IIS, o dispositivo s precisa se conectar ao servidor IIS da Web usando o protocolo HTTP
ou HTTPS. Isso permite que voc execute operaes de RDA e replicao em qualquer tipo de conexo de
rede que oferea suporte a HTTP: LANs (redes locais), WANs (redes de longa distncia) e conexes com o
Microsoft ActiveSync.
Tanto o RDA quanto a replicao so bastante adequados para o transporte sem fio. A compactao usada
para diminuir o tamanho dos dados transmitidos. A criptografia pode ser usada para proteger dados
confidenciais do usurio durante a transmisso.
O RDA e a replicao oferecem suporte Autenticao integrada do Windows e autenticao do SQL
Server durante a conexo com o SQL Server.
Incio da pgina

Introduo replicao de mesclagem


A replicao do SQL Server Mobile baseada na replicao de mesclagem do Microsoft SQL Server. A
replicao de mesclagem pode ser implementada por meio de um banco de dados do Microsoft SQL Server
2000 ou do Microsoft SQL Server 2005.
Ela ideal para aplicativos mveis porque permite que os dados sejam atualizados de modo autnomo e
independente no dispositivo porttil e no servidor. Os dados no dispositivo e no servidor so posteriormente
sincronizados para que seja possvel enviar as alteraes do cliente ao servidor e receber as novas
alteraes do servidor.
Embora a replicao de mesclagem exija mais configurao e manuteno no servidor do que o RDA, ela

oferece diversas vantagens, entre as quais se destacam as seguintes:

A replicao oferece recursos internos e personalizados de resoluo de conflitos.


A replicao possibilita sincronizar dados de vrias tabelas de uma s vez.
A replicao oferece opes avanadas de replicao de dados, incluindo:

Seleo de tipos de artigo e filtragem para melhorar o desempenho


Gerenciamento do intervalo de identidade

O Microsoft SQL Server inclui muitas ferramentas para:

Criar e sincronizar assinaturas do SQL Server Mobile


Monitorar assinantes de cada publicao

Para obter informaes gerais sobre como funciona a replicao de mesclagem, consulte "How Merge
Replication Works" no SQL Server Books Online (em ingls). Para obter informaes especficas de
replicao relacionadas a assinantes do SQL Server Mobile, consulte "How Replication Works" e "Replication
Architecture" no SQL Server Mobile Books Online (em ingls).
Incio da pgina

Introduo ao RDA (acesso remoto a dados)


O RDA permite que aplicativos mveis acessem dados de uma tabela de banco de dados remoto do SQL
Server e os armazene em uma tabela de banco de dados local do SQL Server Mobile. O aplicativo poder,
ento, ler e atualizar a tabela do banco de dados local do SQL Server Mobile. Tambm existe a opo de o
SQL Server Mobile controlar todas as alteraes que so feitas na tabela local. Posteriormente, o aplicativo
poder atualizar os registros alterados da tabela local de volta na tabela do SQL Server.
No SQL Server Mobile, a propagao de dados da tabela do SQL Server para uma tabela local do SQL
Server Mobile chamada de recepo de dados. A propagao das alteraes feitas na tabela local do SQL
Server Mobile de volta para a tabela do SQL Server chamada de envio de dados.
O RDA apropriado quando a funcionalidade completa da replicao de mesclagem do SQL Server Mobile,
incluindo a resoluo de conflitos, no necessria.
A deciso entre usar o RDA e a replicao no aplicativo SQL Mobile depende da finalidade, da funo, da
escala e dos requisitos do aplicativo mvel. Cada soluo de conectividade de dados apresenta suas
prprias vantagens e desvantagens. Essas vantagens e desvantagens so analisadas nas prximas sees.
Incio da pgina

Comparao de recursos
Esta seo faz uma pequena anlise das diferenas de suporte de recursos comparveis entre a replicao e
o RDA. O objetivo desta seo no descrever cada recurso disponvel para replicao ou RDA, mas apenas
mostrar as diferenas dos recursos que podem ser comparados. Por exemplo, existem vrios recursos
adicionais de replicao para os quais o RDA no tem nenhuma funcionalidade comparvel, por isso eles
no so examinados neste artigo.
Incio da pgina

Capacidade de invaso do servidor


Os vrios recursos de replicao de mesclagem do SQL Server Mobile so derivados dos recursos de
replicao de mesclagem do SQL Server. O SQL Server Mobile se beneficia desses recursos mediante a
assinatura de publicaes do SQL Server. Criar uma publicao no servidor uma operao que adiciona
vrias tabelas de sistema ao banco de dados que ser publicado e uma coluna de sistema de Identificador
Exclusivo a cada tabela de usurio publicada. Esses objetos de sistema so adicionados ao banco de dados
do servidor para o gerenciamento da replicao. O RDA no requer que nenhuma alterao seja feita no
banco de dados do servidor. Como o RDA no invasivo em relao ao esquema no servidor, sua
funcionalidade fica limitada e no oferece todos os recursos da replicao, mas permite transferir dados
entre o SQL Server e o SQL Server Mobile sem nenhum trabalho de configurao no servidor. Em algumas

situaes, talvez voc no tenha permisso para alterar o esquema no sistema back-end. Nesse caso, o
RDA uma possvel opo de conectividade para transferir alteraes de dados entre o SQL Server e o SQL
Server Mobile. Outra opo a ser considerada, se voc desejar obter a funcionalidade robusta de replicao
e se o esquema do banco de dados back-end no puder ser alterado, usar um SQL Server de camada
intermediria como servidor de replicao e, depois, transferir os dados para o sistema back-end utilizando
outra tecnologia no-invasiva, como DTS (Data Transformation Services) ou servios da Web.
Em resumo, a replicao requer pequenas alteraes no esquema do banco de dados do servidor, mas
essas alteraes permitem usar um conjunto de recursos bastante robusto; j o RDA no exige alteraes
no banco de dados do servidor, porm no uma soluo de conectividade completa.
Incio da pgina

Definio do esquema e dos dados


Conforme j mencionamos neste documento, como preparativo para a replicao, voc deve criar uma
publicao no servidor. Os dados e o esquema a serem replicados para o Assinante so especificados no
servidor quando a publicao criada. O esquema definido automaticamente no cliente quando a
assinatura criada pela primeira vez. A publicao define as tabelas (artigos) a serem replicadas para o
Assinante, incluindo filtragem de linha (limitando o fluxo de dados atravs de uma clusula WHERE) e
filtragem de coluna (limitando as colunas da tabela a ser replicada). Uma publicao pode conter uma ou
vrias tabelas. A definio de publicao inteira, incluindo os dados e o esquema das tabelas que esto
sendo replicadas, criada no banco de dados do SQL Server Mobile por meio de um mtodo de
sincronizao.
Quando o RDA usado, o cliente controla quais dados so transferidos do servidor, inclusive a definio dos
dados (e a filtragem de linha) e a definio do esquema (e a filtragem de coluna). Ao contrrio da
replicao, em que vrias tabelas podem fazer parte de uma nica sincronizao, o RDA limita-se a uma
tabela por processo de recepo de dados.
Em resumo, os dados e o esquema a serem criados inicialmente no banco de dados do SQL Server Mobile
so definidos no servidor com a replicao e no cliente com o RDA. Uma publicao de replicao pode
conter vrias tabelas, ao passo que o RDA est limitado a uma tabela por download (processo de recepo
de dados do RDA).
Incio da pgina

Alteraes no esquema
Quando a replicao usada, as alteraes feitas no esquema (como adicionar ou eliminar colunas e
restries, ou ainda modificar uma definio de coluna) podem ser replicadas para o Assinante depois que a
assinatura criada. Quando uma alterao pendente no esquema precisa ser replicada para um Assinante,
primeiro ela replicada e, depois, as alteraes delta resultantes so trocadas entre o Editor e o Assinante.
As alteraes feitas no esquema do servidor no necessariamente fazem com que o aplicativo seja
modificado e recompilado; por exemplo, se uma coluna tiver sido adicionada ou removida por no estar
sendo utilizada no aplicativo. Pequenas alteraes feitas no esquema do banco de dados de assinaturas so
permitidas. Para obter mais informaes, consulte "Replication Limitations" no SQL Server Mobile Books
Online (em ingls).
Quando o RDA usado, no h suporte para as alteraes feitas no esquema do servidor. Dependendo da
alterao no esquema, um envio de dados do cliente para o servidor poder no ser bem-sucedido. Se o
esquema do servidor for alterado, o cliente dever eliminar a tabela e receber todos os dados do servidor
novamente. Alteraes no esquema do servidor podem fazer com que voc tenha de modificar e recompilar
seu aplicativo. Pequenas alteraes no esquema do cliente so permitidas. Para obter mais informaes,
consulte "Remote Data Access (RDA) Limitations" no SQL Server Mobile Books Online (em ingls).
Em resumo, quando a replicao usada, as alteraes que so feitas no esquema do servidor so
permitidas, no havendo perda de dados do Assinante. Entretanto, no h suporte para as alteraes no
esquema do servidor quando o RDA utilizado, e tais alteraes podem resultar em perda de dados no
cliente. Pequenas alteraes no esquema so permitidas nas tabelas de conectividade do SQL Server Mobile
tanto para a replicao quanto para o RDA.
Colunas de identidade

Em muitos aplicativos, convm usar um nmero incremental para gerenciar registros inseridos em um
banco de dados cliente. Por exemplo, se o usurio estiver inserindo novos pedidos em uma tabela, convm
atribuir um nmero incremental automaticamente para cada pedido. Quando um sistema como esse
utilizado, no deve haver conflitos de nmeros entre os clientes. A replicao oferece suporte ao
gerenciamento automtico do intervalo de identidade para as colunas integer e bigint de publicaes e
assinaturas. O uso do gerenciamento automtico do intervalo de identidade assegura que no haver
conflitos de linhas, independentemente do nmero de clientes que voc tiver. Para obter mais informaes
sobre como utilizar esse recurso de replicao, consulte "Replicating Identity Columns" no SQL Server
Books Online (em ingls).
Quando o RDA utilizado, no h suporte para o gerenciamento automtico de colunas de identidade. Para
usar essa propriedade de tipo de dados, voc deve gerenciar os valores do sistema inteiro manualmente.
Restries e ndices
Como a replicao oferece suporte a vrias tabelas na definio da publicao, os ndices e as restries de
integridade referencial so automaticamente replicados do servidor para o banco de dados de assinaturas.
Pelo fato de o RDA oferecer suporte apenas ao recebimento de uma nica tabela por vez, as restries de
integridade referencial no so transferidas, mas os ndices podem ser transferidos. Outras definies de
esquema devem ser feitas no cliente.
Troca de alteraes de dados controladas
Se voc usar a replicao, objetos de sistema sero criados no banco de dados de publicao quando a
publicao for criada e no banco de dados do SQL Mobile quando a assinatura for criada. Esses objetos
possibilitam um modelo de troca de dados bastante robusto entre o SQL Server e o SQL Server Mobile. A
replicao tem como objetivo controlar as alteraes nos bancos de dados de publicao e de assinaturas.
Existem dois nveis de controle do fluxo de dados entre o Editor e o Assinante:

O controle no nvel de linha em uma tabela implica que a linha inteira seja transferida durante a
sincronizao. Esse nvel de controle pode ser mais dispendioso para a transferncia de dados,
dependendo da velocidade da conexo, mas requer que menos informaes de controle sejam
armazenadas no Editor e no Assinante.

O controle no nvel de coluna diminui o volume de dados transferidos porque controla as alteraes no
nvel de coluna e de linha e permite que somente os dados de colunas alterados sejam transferidos do
Assinante para o Editor. O Editor sempre enviar toda a linha alterada para o Assinante porque no tem
certeza de que a linha realmente j existe no Assinante.

Para obter mais informaes sobre nveis de controle, consulte "Using Row-Level and Column-Level
Tracking" no SQL Server Mobile Books Online (em ingls) e "Row-Level Tracking and Column-Level
Tracking" no SQL Server Books Online (em ingls).
O RDA usa objetos de sistema no banco de dados do SQL Server Mobile para controlar as alteraes feitas
nos dados. Com essas informaes, o RDA s envia as alteraes, especificamente as linhas alteradas, do
SQL Server Mobile para o SQL Server. Para que o SQL Server Mobile recupere as alteraes de dados do
SQL Server, necessria uma atualizao completa dos dados do cliente.
Em resumo, a replicao oferece suporte troca de dados bidirecional das alteraes delta, pois as
alteraes nos dados so controladas no Editor e no Assinante. O RDA oferece suporte apenas troca de
dados de alteraes delta do SQL Server Mobile para o SQL Server e exige uma atualizao completa dos
dados para que sejam recebidas as alteraes do SQL Server para o SQL Server Mobile, pois as alteraes
nos dados so controladas apenas no banco de dados do SQL Mobile.
Incio da pgina

Tipos de tabelas que podem ser propagadas


Ao adicionar uma tabela a uma publicao de replicao, voc pode definir propriedades na tabela para
controlar o fluxo de dados. Alm de usar as propriedades da tabela para controlar o fluxo de dados entre o
Editor e o Assinante, voc pode us-las para melhorar o desempenho da sincronizao. Para obter mais
informaes, consulte "Parameterized Row Filters" e "Optimizing Merge Replication Synchronization
Performance with Download-Only Articles" no SQL Server Books Online (em ingls).

O RDA no oferece suporte a nenhuma propriedade de tabela usada para controlar o fluxo de dados ou
melhorar o desempenho. Os dados a serem enviados para o cliente so controlados somente pelo cdigo de
aplicativo no cliente.
Incio da pgina

Conflitos
Quando a replicao usada como soluo de conectividade, os conflitos em potencial incluem dados
alterados por usurios diferentes e linhas que no foram aplicadas devido a um erro. A replicao oferece
suporte integral resoluo e ao gerenciamento de conflitos no servidor, incluindo resolvedores de conflitos
internos e personalizados. Para obter mais informaes, consulte "Replication Conflict Detection and
Resolution" no SQL Server Mobile Books Online (em ingls) e "Merge Replication Conflict Detection and
Resolution" no SQL Server Books Online (em ingls).
Quando o RDA usado, os conflitos s incluem linhas que no foram aplicadas devido a um erro. O RDA
no detecta se um usurio diferente alterou os dados. Por isso, ele sempre tem o comportamento "a ltima
gravao prevalece" quando envia dados ao servidor. Os conflitos no so gerenciados, mas podem ser
reportados em uma tabela de erros no cliente. No h suporte para resolvedores de conflitos, uma vez que
os conflitos no so resolvidos.
Incio da pgina

Ferramentas (interface do usurio)


O SQL Server Management Studio inclui um abrangente conjunto de ferramentas que podem ser usadas
para criar e gerenciar assinaturas, inclusive ferramentas de monitoramento utilizadas para gerenciar vrias
assinaturas e supervisionar os tempos de sincronizao e desempenho.
O RDA s pode ser usado por meio de cdigo; no h ferramentas disponveis no SQL Server ou no SQL
Server Mobile para enviar e receber alteraes ou para monitorar clientes.
Incio da pgina

Concluso
Neste artigo, voc conheceu as principais diferenas entre os recursos mais importantes da replicao de
mesclagem e do RDA. Com essas informaes, voc pode fazer a escolha certa quanto soluo de
conectividade mais adequada para as suas necessidades de aplicativo do SQL Server Mobile. Por exemplo,
seu aplicativo pode se beneficiar da simplicidade do RDA ou da funcionalidade robusta da replicao de
mesclagem. Em alguns casos, voc pode combinar os recursos do RDA e da replicao de mesclagem em
uma nica soluo para dados no conflitantes no servidor.
Para obter mais informaes
Pgina do produto SQL Server
2005 Microsoft Corporation. Todos os direitos reservados. Termos de uso.

Incio da pgina

Fale Conosco
2007 Microsoft Corporation. Todos os direitos reservados. Nota Legal | Marcas comerciais |
Poltica de Privacidade