<\/HEAD>
Como analista de suporte, recebemos uma variedade de problemas interessantes para revisar. Esses problemas podem ser específicos do ambiente do usuário, dados, fluxo de trabalho, etc. Às vezes, podemos notar um aumento nas chamadas relacionadas a um único fluxo de trabalho. Quando isso acontece, revisamos os recursos que nossos usuários têm disponíveis e garantimos que a documentação descreva claramente como executar os fluxos de trabalho.<\/P>
Um desses problemas de fluxo de trabalho que temos visto no call center ultimamente tem sido trabalhar com mudanças de schema em réplicas. Por exemplo, após criar uma réplica, você percebe que precisa adicionar um campo a uma determinada classe de feição, ou remover um domínio que não é mais necessário. Este blog espera tornar esse fluxo de trabalho mais intuitivo com alguns truques que ajudarão os gurus das réplicas a lidar eficientemente com mudanças de schema.<\/P>
Vamos revisar: quando uma réplica é criada, os dados e o schema dos objetos sendo replicados são registrados no geodatabase pai e no geodatabase filho. Os dados são definidos como as linhas na tabela e usam os valores GlobalId como um link entre pai e filho, enquanto o schema consiste nos campos, domínios, subtipos e outras propriedades que descrevem os dados replicados. Lembre-se, se você usar a barra de ferramentas Distributed Geodatabase no ArcMap para criar a réplica, e usar a opção 'Registrar apenas dados existentes', então a réplica pode ter schemas diferentes na criação. Isso é permitido pois algumas organizações têm essa necessidade, então cabe ao criador da réplica garantir que os dados estejam preparados para suas próprias necessidades antes de criar a réplica.
Idealmente, os schemas são idênticos em ambas as réplicas durante a criação da réplica, mas com o tempo, mudanças podem ser aplicadas a cada schema da réplica. Por exemplo, uma réplica pode exigir campos adicionais para completar um projeto, enquanto a réplica relativa pode precisar aplicar um novo domínio a um campo existente. Quando isso acontece, os schemas das réplicas não são mais iguais. Novamente, não é obrigatório ter schemas idênticos nos geodatabases pai e filho; entretanto, se as diferenças não forem intencionais, você pode observar comportamentos inesperados.
O que pode acontecer se houver diferenças de schema nos dados replicados?
- Edições que não sincronizam<\/STRONG>- A sincronização de dados importa apenas alterações para tabelas e campos comuns a ambas as réplicas.Nota: Se os schemas não coincidirem quando os dados forem sincronizados, os dados serão marcados como enviados para sua réplica relativa. Lembre-se, as réplicas não exigem que os schemas coincidam, mas todas as edições serão marcadas como sincronizadas durante a sincronização, independentemente de haver ou não um schema correspondente (por exemplo, um campo) na réplica relativa para receber as edições.<\/EM><\/EM><\/LI><\/UL><\/LI>Valores inválidos<\/STRONG> - Alterações que violam domínios, subtipos, regras de conectividade e regras de relacionamento são aplicadas ao sincronizar alterações. As <\/STRONG>ferramentas de validação<\/A><\/STRONG> no editor podem ser usadas para verificar os valores recém-importados.<\/LI>Erros na sincronização de dados - <\/STRONG>Isso pode acontecer quando você faz manualmente uma mudança no schema em ambas as réplicas. Por exemplo, você pode querer adicionar um campo a uma tabela. Se fizer isso, certifique-se de fazer exatamente a mesma mudança no schema em todos os casos. Se houver uma diferença (por exemplo, um campo é string em uma réplica mas inteiro na outra), ocorrerá um erro na sincronização dos dados.
<\/A> Erro de sincronização devido à incompatibilidade dos tipos de campo entre réplicas.<\/P><\/DIV><\/LI><\/UL>
- Alterações não suportadas - <\/STRONG>Alguns tipos de mudanças no schema podem causar falha na sincronização, mas nenhum aviso é exibido se você fizer a alteração. Essas mudanças não são detectáveis pelo sistema de replicação do geodatabase. Elas incluem operações em nível de banco de dados como alterar permissões em tabelas do banco. Se as permissões forem alteradas para somente leitura para dados replicados, ocorrerá falha ao importar alterações da réplica relativa.<\/LI><\/UL>Aplicando mudanças no schema entre réplicas - <\/STRONG>Modificar o schema de uma réplica para coincidir com o schema da réplica relativa é um processo completamente separado da sincronização dos dados. Se você acredita estar enfrentando algum dos comportamentos inesperados descritos acima, pode usar as seguintes ferramentas.
Três ferramentas são fornecidas para atualizar schemas das réplicas:
Exportar Schema da Réplica<\/A> <\/STRONG>- Usada para exportar o schema do geodatabase que possui o schema que você deseja aplicar à réplica relativa. Normalmente usada apenas para ambientes desconectados ou scripts.<\/LI>Comparar Schema da Réplica<\/A><\/STRONG> - Usada para encontrar as diferenças entre os dois geodatabases na réplica. Isso sempre é feito a partir do geodatabase onde você deseja aplicar as mudanças. Este é o primeiro passo se estiver trabalhando em ambiente conectado.<\/LI>Importar Schema da Réplica<\/A> <\/STRONG>- Usada para importar as diferenças encontradas durante a comparação da réplica para o geodatabase onde você deseja aplicar as mudanças.<\/LI><\/OL>
As ferramentas estão disponíveis no menu contextual do Distributed Geodatabase ao clicar com o botão direito na árvore do Catalog, na barra de ferramentas Distributed Geodatabase no ArcMap e como ferramentas de geoprocessamento.
<\/A> Menu contextual do Distributed Geodatabase ao clicar com o botão direito no ArcCatalog<\/P><\/>\n<\/>\n
Barra de ferramentas Distributed Geodatabase no ArcMap<\/>\n<\/>\n
Ferramentas de Geoprocessamento Data Management<\/>
É importante notar que existem pequenas diferenças nesses três métodos. Por exemplo, o assistente Importar Schema da Réplica no menu contextual Distributed Geodatabase ao clicar com o botão direito no ArcCatalog e na barra de ferramentas Distributed Geodatabase no ArcMap listam as mudanças que o usuário pode optar por aplicar ou não aplicar, enquanto as ferramentas de geoprocessamento (que são mais usadas em ambientes desconectados ou processos automáticos scriptados) não listam.
Por fim, mantenha em mente que iferramentas de geoprocessamento são tipicamente usadas número processo em três etapas (Exportar, Comparar e Importar) e são usadas principalmente quando esse processo faz parte de uma tarefa agendada. a barra de ferramentas Distributed Geodatabase no ArcMap e o menu contextual Distributed Geodatabase ao clicar com o botão direito podem ser  usados em ambiente conectado e com apenas duas etapas (Comparar e Importar).
Embora eliminar a etapa Exportar Schema da Réplica possa economizar tempo, se houver dúvida sobre qual schema do geodatabase deve ser entrada para as ferramentas ou dúvida sobre quais mudanças estão sendo propagadas, acho que o método das Ferramentas de Geoprocessamento em três etapas pode ser muito mais intuitivo. A primeira ferramenta será sempre a ferramenta Exportar Mudanças do Schema do geoprocessamento. Essa ferramenta tem apenas uma entrada do geodatabase (o geodatabase que tem o schema que você gostaria que fosse propagado para a réplica relativa) e cria um único arquivo XML como saída.
Agora executamos a ferramenta Comparar Schemas da Réplica do geoprocessamento onde nossa entrada é o geodatabase relativo e o arquivo XML que acabamos de criar. A saída para a ferramenta Compare Replica Schema Geoprocessing é um único arquivo XML. Finalmente, nosso terceiro passo é executar o Import Replica Schema. Nossa entrada será um geodatabase - o relativo à entrada que inserimos na ferramenta Export Replica Schema, e o compare.XML que acabamos de criar. Embora as ferramentas de geoprocessamento não tenham a interface organizada que lista as diferenças de schema reconhecidas, este método pode esclarecer qualquer confusão sobre de onde as alterações estão sendo retiradas e para onde estão sendo enviadas.Veja documentos de Recursos:<\/STRONG>Trabalhando com Alterações de Schema<\/A><\/STRONG><\/STRONG><\/LI>Alterações de Schema<\/A><\/STRONG><\/STRONG><\/LI><\/UL>Tina M. - Analista de Suporte Geodata<\/EM>
<\/BODY><\/HTML>