CÓMO
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:
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:
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:
WARNING 003929: During the upgrade recovery versions (<value>) were created that require further review. Review <value> for more detail.
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.

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.
[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).
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>:
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.
Ahora, las versiones están preparadas para consumir y, de este modo, revisar los datos reparados.

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. de artículo: 000032501
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora