Instrução
Fluxos de trabalho foram identificados que podem causar inconsistências nas tabelas do sistema de versionamento de ramificação. Quando esse problema ocorre, feições com metadados de versionamento de ramificação ausentes podem causar inconsistências de dados quando a versão é reconciliada, postada e/ou excluída.
O problema é resultado da forma como os metadados do versionamento de ramificação são mantidos durante as operações de salvar edições, reconciliar e postar. Durante essas operações, os metadados de versionamento de ramificação podem ser removidos do geodatabase. Quando os metadados da versão da ramificação são removidos incorretamente, as feições podem não participar corretamente de operações futuras, como reconciliar, postar e excluir versões, resultando em dados inconsistentes. Esse problema ocorreu em condições de concorrência, nas quais solicitações simultâneas levaram à remoção incorreta dos metadados de versionamento de ramificação de feições válidas.
Operações executadas com base em metadados de versionamento de ramificação incorretos podem levar a:
Essas inconsistências nas tabelas do sistema são evitadas e corrigidas nas seguintes versões:
A atualização de um geodatabase enterprise também verificará eventuais inconsistências de dados relacionadas a dados versionados por ramificação. As inconsistências são resolvidas durante a atualização, seja criando novas versões com os dados corrigidos, seja atualizando as versões existentes. Essas versões devem ser revisadas para determinar se algum dos dados nelas deve ser postado para a versão Padrão.
Este artigo descreve o fluxo de trabalho para revisar inconsistências resolvidas após uma atualização do geodatabase. Como mencionado acima, a atualização pode reparar os dados de duas formas: criando uma nova versão de recuperação ou atualizando uma versão existente. Para fins deste artigo, essas versões serão chamadas de novas versões de recuperação e versões existentes que recuperaram linhas, respectivamente. O geodatabase analisado no artigo possui duas versões que serão acessadas e analisadas. As versões são nomeadas:
O fluxo de trabalho fornecido mostra onde as informações sobre essas versões podem ser coletadas, como conectar-se a essas versões e quais ações podem ser necessárias em relação a essas versões no ArcGIS Pro.
A seguir está um esboço do fluxo de trabalho:
WARNING 003929: During the upgrade recovery versions (<value>) were created that require further review. Review <value> for more detail.
Caso sejam detectadas inconsistências durante o processo de atualização, a ferramenta Atualizar geodatabase retorna um aviso informando quantas versões foram recuperadas, bem como a localização do arquivo sde_setup.log, conforme mostrado na próxima imagem. As mensagens sobre atualizações do geodatabase são gravadas no arquivo sde_setup.log, que é criado no diretório especificado pela variável %TEMP% no computador onde a ferramenta é executada. O número de versões refere-se tanto às novas versões de recuperação quanto às versões existentes que já recuperaram linhas. O arquivo sde_setup.log contém informações adicionais sobre as versões que foram reparadas.

Note: If using Python to upgrade the geodatabase, use the following example to ensure that warnings are properly returned to report recovery versions. If no warning is returned, no data inconsistencies were found in the geodatabase and no further action is required.
import arcpy
arcpy.UpgradeGDB_management(
input_workspace=r"C:\temp\sysadmin_connection.sde",
input_prerequisite_check="PREREQUISITE_CHECK",
input_upgradegdb_check="UPGRADE"
)
warnings = arcpy.GetMessages(1)
errors = arcpy.GetMessages(2)
if "WARNING 003929" in warnings:
print(warnings)
elif "Recovery versions" in warnings:
recovery_versions = warnings[warnings.find("Recovery versions"):warnings.find(")") + 1]
for item in warnings.split("\n"):
if "sde_setup.log" in item:
logfile_loc = item.strip()
print("--------------------------------------------------------------------------------------------------")
print(f"WARNING 003929: During the upgrade {recovery_versions} were created that require further review.")
print(f"Review {logfile_loc} for more detail.")
print("--------------------------------------------------------------------------------------------------")
if errors:
print(errors)
Se necessário, baixe e abra o arquivo de exemplo sde_setup_howto.log em um editor de texto; algumas seções deste arquivo são referenciadas nas etapas a seguir.
[08:51:34.091] ================================================================== [08:51:34.091] Begin recovery of branch versioned data associated with a missing branch... [08:51:37.302] Created recovery version(s): [08:51:37.302] sde.RECOVERY_VERSION_BR_1 with edits to: [08:51:37.302] - CREATOR1.POINT [08:51:37.302] - CREATOR1.LINE [08:51:37.302] - CREATOR1.POLYGON [08:51:37.302] Completed recovery of branch versioned data associated with a missing branch. [08:51:37.302] An administrator must update the service_name for the above versions in the sde.SDE_branches table in order for users to connect and review. [08:51:37.303] ==================================================================
[08:51:37.304] Begin recovery of branch versioned data associated with an invalid common ancestor moment...
[08:51:37.622] Recovered rows in version(s):
[08:51:37.622] ADMIN.EXISTING_VERSION (service: Post_DataLoss) with edits to:
[08:51:37.622] - CREATOR1.POINT
Object ID(s) : {46,436}
[08:51:37.622] - CREATOR1.POLYGON
Object ID(s) : {462}
[08:51:37.622] Completed recovery of branch versioned data associated with an invalid common ancestor moment.
[08:51:37.622] A portal user must connect and review the above version(s).
Existem algumas etapas necessárias antes que as versões de recuperação possam ser analisadas. A seção a seguir descreve o processo de preparação tanto das novas versões de recuperação quanto das versões existentes que possuem linhas recuperadas para acesso e revisão.
Para preparar cada nova versão de recuperação com a convenção de nomes RECOVERY_VERSION_BR_<branch_id>:
Note: If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data).
UPDATE sde.sde_branches SET service_name = 'my_service_name' WHERE name = 'RECOVERY_VERSION_BR_1';
Note: If a service does not exist in your portal with these datasets referenced, a new service must be published. Add these distinct datasets to a new map as the dataset owner, and publish a web feature layer with the version management capability enabled (Share branch versioned data), using the same service name.
As versões agora estão preparadas para serem consultadas e revisadas os dados corrigidos.

Note: If a new recovery version only has edits to dataset system tables, for example: only Utility Network system tables, the Differences view may not display changes; therefore, the version can be deleted.
ID do Artigo: 000032501
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora