On the failed 9.x vCenter appliance you see the following error in the import-upgrade-runner.log
/var/log/vmware/upgrade/import-upgrade-runner.log======================================================================================INFO upgrade.states.component_states vcIntegrity:Import:15:09:09.137Z verbose vmware-vci-vciInstallUtils[54261] [Originator@6876 sub=Default] [VdbODBCError::VdbODBCError] SQLGetDiagRec SQLState='23503' NativeError=1 MessageText='ERROR: update or delete on table "vci_va_upgrades" violates foreign key constraint "fk_va_upg_pkg_ref_upg" on table "vci_va_upgrade_files"INFO upgrade.states.component_states vcIntegrity:Import: --> DETAIL: Key (upgrade_id)=(###) is still referenced from table "vci_va_upgrade_files".;INFO upgrade.states.component_states vcIntegrity:Import: --> Error while executing the query' rc=0INFO upgrade.states.component_states vcIntegrity:Import: 2025-10-29T15:09:09.137Z error vmware-vci-vciInstallUtils[54261] [Originator@6876 sub=Default] [installerRunDBCommand 627] [DATABASE] Vdb::RunScript, SQL Exec Error: "ODBC error: (23503) - ERROR: update or delete on table "vci_va_upgrades" violates foreign key constraint "fk_va_upg_pkg_ref_upg" on table "vci_va_upgrade_files"INFO upgrade.states.component_states vcIntegrity:Import: --> DETAIL: Key (upgrade_id)=(###) is still referenced from table "vci_va_upgrade_files".;INFO upgrade.states.component_states vcIntegrity:Import: --> Error while executing the query" is returned when executing SQL statement "DELETE FROM vci_updatesINFO upgrade.states.component_states vcIntegrity:Import: --> where id not in (select update_id from vci_update_packages)"
VMware Cloud Foundation 9.x
VMware vSphere Foundation 9.x
vCenter Server 9.x
The error stems from VA(virtual appliance) upgrade IDs persisting within the VCI_VA_upgrade_files section of the Update Manager database tables. This issue is linked to the older Update Manager workflow responsible for managing virtual appliance upgrades.
Caution: Resetting the Update Manager database is a destructive task. Custom baselines (but not Cluster Images), custom download settings and manually imported patches/ISOs will be removed and will need to be reapplied following the reset. Before applying the steps below, take a backup and an offline-snapshot (in powered-off state) of the vCenter Server. If the vCenter Server is part of an ELM environment, take a snapshot or a backup of all vCenters within the ELM domain. Note all of the custom configurations within Update Manager - e.g. proxy settings, third party download URLs, customized baselines, etc. - before proceeding.
Workaround #1
Workaround #2
cat /usr/lib/vmware-updatemgr/bin/configvalues.txtsu updatemgr -s /bin/bashpsql -U vumuser -d VCDB/var/log/vmware/upgrade/import-upgrade-runner.log2025-10-29T15:09:10.348Z INFO upgrade.states.component_states vcIntegrity:Import: --> DETAIL: Key (upgrade_id)=(455) is still referenced from table "vci_va_upgrade_files".;DELETE FROM vci_va_upgrade_files WHERE upgrade_id = <upgrade_id>;DELETE FROM vci_va_upgrades WHERE upgrade_id = <upgrade_id>;/qexit