Highlighted
New Member.
110 views

Problem upgrading from UCMDB 10.0 to 10.01

Jump to solution

I recenctly upgraded to UCMDB 10.01 on our dev server and when I start UCMDB the State Management service says it fails. 

 

This is the error I am seeing in the error log:

 

2013-07-24 11:32:47,926 [Starter for "state_management" (during Writer server startup). (customer 1, id name: Default Client)] (DalAbstractCommand.java:64) ERROR - Failed to execute command [com.mercury.topaz.cmdb.server.manage.dal.dao.DaoFactory$TransactionProxy$ProxyDalAbstractCommand@38e47d45] time [11 ms] customer ID [1, id name: Default Client] operation stack [N/A]
com.mercury.topaz.cmdb.server.manage.dal.CmdbDalBatchException: [ErrorCode [-2147483648] undefined error code]
Can't execute BATCH prepared statement [MERGE INTO HA_REVISIONS R using (SELECT ? as MODEL_ID, ? as REVISION ) S ON (R.MODEL_ID = S.MODEL_ID) when not matched then insert (MODEL_ID, REVISION) values (S.MODEL_ID, S.REVISION) when matched then update set R.REVISION = S.REVISION;], failed on element at index [0] due to exception: com.mercury.jdbc.sqlserverbase.ddc: [mercury][SQLServer JDBC Driver][SQLServer]Incorrect syntax near 'MERGE'.
    at com.mercury.topaz.cmdb.server.manage.dal.CmdbDalPreparedStatementImpl.internalExecuteBatch(CmdbDalPreparedStatementImpl.java:355)

 

Any clues as to how I can recover from this?

0 Likes
1 Solution

Accepted Solutions
Highlighted
Absent Member.. Absent Member..
Absent Member..

Similar error has been seen when MSSQL database has not been migrated to SQL 2008 or if the database was migrated, the compatibility remains to 90.

 

This problem shouldn't happen on SQL server 2008, even if it was upgraded from SQL server 2005.

 

Please run the following sql statements of the customer's SQL server:
Both of them should run in master context and in the second query replace <DB_NAME> with name of the customer's database name.


1. SELECT @@VERSION
2. SELECT compatibility_level FROM sys.databases WHERE name = <DB_NAME>


The problem with the incorrect syntax of the merge SQL happened because their database's compatibility level is set to SQL server 2005 (compatibility_level = 90).


Changing it to the compatibility level of SQL server 2008 will solve this problem in the future.
You can use the following SQL query to change to compatibility level:
ALTER DATABASE <DB_NAME> SET COMPATIBILITY_LEVEL = 100

 

Best Regards,

Juan Calderon

"HP Support
If you find this or any post resolves your issue, please be sure to mark it as an accepted solution."

View solution in original post

0 Likes
1 Reply
Highlighted
Absent Member.. Absent Member..
Absent Member..

Similar error has been seen when MSSQL database has not been migrated to SQL 2008 or if the database was migrated, the compatibility remains to 90.

 

This problem shouldn't happen on SQL server 2008, even if it was upgraded from SQL server 2005.

 

Please run the following sql statements of the customer's SQL server:
Both of them should run in master context and in the second query replace <DB_NAME> with name of the customer's database name.


1. SELECT @@VERSION
2. SELECT compatibility_level FROM sys.databases WHERE name = <DB_NAME>


The problem with the incorrect syntax of the merge SQL happened because their database's compatibility level is set to SQL server 2005 (compatibility_level = 90).


Changing it to the compatibility level of SQL server 2008 will solve this problem in the future.
You can use the following SQL query to change to compatibility level:
ALTER DATABASE <DB_NAME> SET COMPATIBILITY_LEVEL = 100

 

Best Regards,

Juan Calderon

"HP Support
If you find this or any post resolves your issue, please be sure to mark it as an accepted solution."

View solution in original post

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.