Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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
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
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
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