When upgrading CA Service Desk Manager (SDM) from version 17.4.x to 17.5, the installation fails during the MDB update step
In the %TEMP%/casm/install_mdb.log, the following error sequence is observed:
[CommonProcessUtilities] Output 07-17,14:01:26 MDBTools install error=3[CommonProcessUtilities] Output 07-17,14:01:27 Setupmdb exit /B return code=3[ActiveProcessHolder] Exit Monitor. Process ID (PID): 8712[CommonProcessUtilities] Command terminated with exit code: 3
[SDMPatch] Exit code of SDM MDB script : 3
In the casm/Patching/17_5_<DATE>/SDM_MDB_<DATE>/install_mdb.log, the following error sequence is observed:
IF NOT EXISTS (select * from sysindexes where id=object_id('call_req') and name='call_req_x16') CREATE INDEX call_req_x16 ON call_req ( resolve_date ) ON [PRIMARY]INFO - MDBTools_0308I - Installation of last object failed, requeuing it to the end of the list.INFO - MDBTools_0305E - Error processing table 'call_req.xml'; details follow:ERROR - com.microsoft.sqlserver.jdbc.SQLServerException: The object '<CustomINDEX>' is dependent on column 'open_date'.com.microsoft.sqlserver.jdbc.SQLServerException: The object '<CustomINDEX>' is dependent on column 'open_date'. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1621) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getMoreResults(SQLServerStatement.java:1342) at com.ca.mdbtools.DriverApp.updateDB(DriverApp.java:2699) at com.ca.mdbtools.DriverApp.apply(DriverApp.java:2257) at com.ca.mdbtools.DriverApp.installSchemaDriver(DriverApp.java:1086) at com.ca.mdbtools.Utilities.run(Utilities.java:1678) at com.ca.mdbtools.Utilities.main(Utilities.java:1042)17PMt6_PM31790120017_ti16 ERROR - MDBTools_0307E - SQL text:17PMt6_PM31790120017_ti16 ERROR - IF EXISTS (select i.name from sysindexes i where i.id = OBJECT_ID('call_req') and i.name = 'call_req_x0')
Service Desk Manager 17.5
Database: SQL Server
The upgrade process attempts to modify or create indexes on the call_req table (e.g., call_req_x16 or call_req_x0). If there are custom database objects (like views or custom indexes) that depend on the columns being modified, the SQL Server throws a dependency error, preventing the MDB tools from completing the schema update.
1. Identify the Custom Object: Based on the log error, identify the specific custom object (e.g., z_custom_index_or_view).
2. Back up the Object Definition: Script out the definition of the custom view/index so it can be recreated later.
3. Drop the Custom Object: Remove the custom index or view from the database.
4. Retry the Upgrade: Run the CA SDM 17.5 installer again. The MDB update should now proceed without the dependency conflict.
5. Recreate the Object: Once the upgrade is successful, recreate the custom view or index, ensuring it is compatible with the new 17.5 schema.