CÓMO

Cómo revisar las versiones de recuperación en rama tras actualizar una geodatabase corporativa

Last Published: November 1, 2024

Resumen

Se han identificado flujos de trabajo que pueden causar inconsistencias en las tablas del sistema de versiones de ramas. Cuando se produce un problema de este tipo, las entidades con metadatos de control de versiones en rama que faltan pueden provocar inconsistencias en los datos al conciliar, publicar o eliminar la versión.

El problema es resultado de cómo se mantienen los metadatos de versionado en rama durante las ediciones de guardado, conciliación y publicación. Durante estas operaciones, los metadatos de versión de las ramas pueden eliminarse de la geobase de datos. Cuando los metadatos de la versión de la rama se eliminan incorrectamente, las características pueden no participar correctamente en operaciones futuras, como reconciliar, publicar y eliminar versiones, lo que resulta en datos inconsistentes. Este problema ocurrió en condiciones de carrera, donde las solicitudes competidoras provocaban que los metadatos de versionado en rama fueran eliminados incorrectamente para entidades válidas.

Las operaciones que se ejecutan contra metadatos incorrectos de versión de las ramas podrían conducir a:

  • Datos versionados en rama que hacen referencia a una versión que desde entonces ha sido eliminada; y,
  • Datos versionados en rama que hacen referencia a un momento antes del momento del antecesor común.

Estas inconsistencias en las tablas del sistema se evitan y corrigen en las siguientes versiones:

Actualizar una geodatabase corporativa también verificará cualquier inconsistencia en los datos respecto a los datos versionados en rama. Las inconsistencias se resuelven durante la actualización, ya sea creando nuevas versiones con datos reparados o actualizando las existentes. Estas versiones deben revisarse para determinar si alguno de los datos de las versiones debe publicarse en Predeterminada.

Este artículo describe el flujo de trabajo para revisar las inconsistencias resueltas tras una actualización de la geodatabase. Como se ha señalado antes, la actualización puede reparar los datos de dos maneras: creando una nueva versión de recuperación o actualizando una versión existente. Para los fines de este artículo, estas versiones se denominarán nuevas versiones de recuperación y versiones existentes que han recuperado filas, respectivamente. La geodatabase revisada en el artículo tiene dos versiones a las que se accederá y revisará. Las versiones se nombran:

  • RECOVERY_VERSION_BR_1 (nueva versión de recuperación)
  • EXISTING_VERSION (versión existente que ha recuperado filas)

El flujo de trabajo proporcionado muestra dónde se puede recopilar la información sobre estas versiones, cómo conectarse a ellas y qué acciones pueden ser necesarias en ArcGIS Pro.

A continuación se presenta un resumen del flujo de trabajo:

  1. Se utilizó la herramienta Actualizar geodatabase o la función arcpy.UpgradeGDB_management y se informó de una advertencia:
WARNING 003929: During the upgrade recovery versions (<value>) were created that require further review. Review <value> for more detail.
  1. Revise el sde_setup.log para ver una lista de versiones.
  2. Preparar versiones para el acceso:
    1. Actualice la tabla interna de ramas del sistema para incluir un nombre de servicio.
    2. Asegúrese de que existan servicios de entidades en tu portal ArcGIS Enterprise con los datasets que contienen ediciones para las versiones.
  3. Use la vista Diferencias.
  4. Editar/Conciliar/Publicar.
  5. Elimine las versiones.

Procedimiento

Revise los resultados de la herramienta Actualizar geodatabase y sde_setup.log

Si se detectan inconsistencias durante el proceso de actualización, la herramienta Actualizar geodatabase devuelve una advertencia que indica cuántas versiones se han recuperado, así como la ubicación del archivo sde_setup.log, como se muestra en la siguiente imagen. Los mensajes relativos a actualizaciones de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. El número de versiones se refiere tanto a nuevas versiones de recuperación como a versiones existentes que han recuperado filas. El archivo sde_setup.log contiene información adicional sobre las versiones que se han reparado.

000032501a.png

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)

Si es necesario, descargue y abra el archivo de ejemplo sde_setup_howto.log en un editor de texto; las secciones de este archivo se referencian en los siguientes pasos.

  1. Abra el archivo sde_setup.log en el equipo.
  2. Revise el archivo sde_setup.log para ver si existen nuevas versiones de recuperación y versiones existentes que hayan recuperado filas:
  3. Busque en el archivo sde_setup.log la sección que indica: Versión de recuperación creada.
    • El archivo sde_setup.log enumera las versiones recién creadas, con la convención de nomenclatura “sde.RECOVERY_VERSION_BR_<branch_id>”, también conocidas como nuevas versiones de recuperación. Esto se muestra en la siguiente sección del archivo de registro:
[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] ==================================================================
  1. Observe los datasets que han recuperado datos en la(s) versión(es) correpondiente(s), ya que las ediciones en estas versiones se verán en los últimos pasos de este artículo.
  2. Busque en el archivo sde_setup.log la sección que indica: Filas recuperadas en la(s) versión(es). Esto se muestra en la siguiente sección:
[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).
  • El archivo de registro sde_setup lista las versiones existentes que se actualizaron, también conocidas como versiones existentes que han recuperado filas.
  • Observe el(los) Id. de objeto de cada dataset que haya recuperado datos en la(s) versión(es) correspondiente(s), ya que estos Id. específicos de objeto se verán en pasos posteriores de este artículo.

Preparar versiones de recuperación

Existen algunos pasos obligatorios antes de poder revisar las versiones de recuperación. La siguiente sección describe el proceso para preparar tanto las nuevas versiones de recuperación como las versiones existentes que han recuperado las filas para consultarse y revisarse.

Para preparar cada nueva versión de recuperación con la convención de nombres RECOVERY_VERSION_BR_<branch_id>:

  1. Revise el archivo sde_setup.log e inspeccione la lista de datasets para la versión correspondiente.
  2. Asegúrese de que exista un servicio en su portal ArcGIS Enterprise con los datasets correspondientes enumerados en el archivo sde_setup.log.
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).
  1. Actualice la tabla del sistema SDE_branches (o ramas) con el nombre de servicio correspondiente identificado en el paso anterior para cada una de las versiones de RECOVERY_VERSION_BR_<branch_id> utilizando Structured Query Language (SQL) en una solución de software de administración de bases de datos adecuada.
    Utilice el siguiente ejemplo y sustituya los hallazgos de su archivo sde_setup.log:
UPDATE sde.sde_branches
SET service_name = 'my_service_name'
WHERE name = 'RECOVERY_VERSION_BR_1';
  1. Para preparar cada versión existente que haya recuperado filas:
    1. Revise el archivo sde_setup.log e inspeccione el (Servicio: <nombre_del_servicio>) para la versión correspondiente.
    2. Asegúrese de que exista el servicio en su portal ArcGIS Enterprise con los datasets correspondientes enumerados en el archivo sde_setup.log.
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.

Acceder y revisar versiones de recuperación

Ahora, las versiones están preparadas para consumir y, de este modo, revisar los datos reparados.

  1. Agregue una capa de entidades web a un nuevo mapa en ArcGIS Pro desde los servicios que contienen nuevas versiones de recuperación y/o versiones existentes que hayan recuperado filas.
  2. Cambie a la versión y abra la vista Diferencias, que se muestra en la siguiente imagen:
    • Si la versión conectada es una nueva versión de recuperación, todas las diferencias son ediciones reparadas y deben revisarse como se indica en los siguientes pasos de este artículo (pasos 3 y 4)
    • Si la versión conectada es una versión existente que ha recuperado filas, puede contener diferencias que hacen referencia a los ID. de objeto de ediciones existentes, así como diferencias que hacen referencia a los ID. de objeto del archivo sde_setup.log recuperados durante la actualización. Aunque todas las diferencias deben revisarse, las recuperadas durante la actualización deberán revisarse, como se indica en los siguientes pasos de este artículo (pasos 3 y 4)

000032501d.png

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.
  1. Revise e inspeccione las ediciones.
    1. Revise los atributos de usuario y los atributos mantenidos por el sistema, como los atributos de seguimiento del editor.
    2. Revise el Visualizador de cambios para ver si hay diferencias en las columnas de forma.
  2. Basándose en la revisión del paso 3 anterior, decida si conservará las ediciones o no.
    • Para conservar las ediciones, concilie y publique la versión a la versión predeterminada.
      • Si solo se desea un subconjunto de ediciones, realice las ediciones apropiadas antes de las operaciones de conciliación/publicación.
    • Para descartar las ediciones:
      • En el caso de las nuevas versiones de recuperación, la versión se puede eliminar.
      • Para versiones existentes que hayan recuperado filas, edite el(los) Id. de objeto(s) asociado(s) para que tengan los mismos atributos y forma que la representación predeterminada. De lo contrario, la versión puede eliminarse y el trabajo previo a la reparación puede completarse en otra versión.

Id. de artículo: 000032501

Obtenga soporte con IA

Resuelva su problema rápidamente con el chatbot de inteligencia artificial de soporte de Esri.

Empieza a chatear ahora

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Empieza a chatear ahora

Ir a opciones de descarga