Description:
When upgrading the ITCM R12.x Enterprise Manager or Domain Manager database to version 12.5 the following error occurs:
-MDB Tools install error: setup MDB failed, please see install_<db name>.log file for details
-Error Code: 3
The Install_ mdb log shows the following:
ERROR - MDBTools_0307E - SQL text:
ERROR - DECLARE @ prod version n v a r c h a r (32), @major
ERROR - set @ prod version = convert( n v a r c h a r(32),
server property ('product version'))
ERROR - set @ = CHARINDEX('.', @ prod version, 0) ;
ERROR - set @major = convert( , substring(@ prod version,
1,@idx-1))
ERROR - IF @major < 9
ERROR - exec ENABLE_DISABLE_DEP_OBJS_2000 'ALL',
'DISABLE', 'ca_ discovered_ software';
ERROR - ELSE
ERROR - exec ENABLE_DISABLE_DEP_OBJS 'ALL',
'DISABLE', 'ca_ discovered_ software';
ERROR - alter table ca_ discovered_ software alter column
[origin] n v a r c h a r ( 64 ) COLLATE SQL_Latin1_General_CP1_CI_AS NULL;
ERROR - IF @major < 9
ERROR - exec ENABLE_DISABLE_DEP_OBJS_2000 'ALL',
'ENABLE',
The dsmsetup.log shows the following:
WARNING - File: CAUniITRM_Setup.rul - Line: 7540 -
Registry DB Get Key Value Ex ('SOFTWARE\ Computer Associates \Unicenter ITRM', Install Dir) failed.
WARNING - File: CAUniITRM_Properties.rul - Line: 1988 - Get Prof String
(:\Temp\ITCM_v12.5_Disk1\ITCM_v12.5_Disk1\WindowsProductFiles_x86\Installer.ini, Configure, DSM_LANGUAGE) failed
Solution:
Run the following queries on the MDB via SQL Management Studio.
Important Note:
Before running any SQL queries against the MDB please back up the entire MDB.
Select * from ca_discovered_software where asset_source_uuid NOT IN(select asset_source_uuid from ca_asset_source)
Select * from ca_discovered_hardware where asset_source_uuid NOT IN(select asset_source_uuid from ca_asset_source)
If any results are returned on the above queries, then we need to run the following queries then the MDB upgrade should complete:
update ca_discovered_software set asset_source_uuid=NULL where asset_source_uuid NOT IN( select asset_source_uuid from ca_asset_source)
update ca_discovered_hardware set asset_source_uuid=NULL where asset_source_uuid NOT IN( select asset_source_uuid from ca_asset_source)