0

I have deleted few publication targets rows from DB (SQL Server - Tridion_cm Data base) directly (dbo.PUBLICAITON_TARGETS) table, By that time, i have deleted few interlinked transactions (rows) from dbo.PUBLISH_TRANSACTIONS table.

When i try to publish to page from newly created publication target, I am getting error as below.

Invalid object name 'PUBLISH_TRANSACTIONS'. (80040356) Unable to publish item(s) with id A database error occurred while executing Stored Procedure "EDA_PUB_TRAN_CREATE_PUBLISH_TRANSACTION". Invalid object name 'PUBLISH_TRANSACTIONS'.

When i try to see the transactions in publishing queue, I am getting error as below.

(80040356) Unable to retrieve a list for item A database error occurred while executing Stored Procedure "EDA_PUB_TRAN_GETLIST_PUBLISH_TRANSACTIONS". Invalid object name 'PUBLISH_TRANSACTIONS'.

So, when i try to check the DB, the table is missing dbo.PUBLISH_TRANSACTIONS.

How to resolve the issue? Could anyone please help me on this?

UPDATE Have executed the SQL statement to create the deleted table. After that, the issue has been resolved.

Thanks, Jey

  • 1
    I'm glad you got it working... though I'm a bit worried that other stuff might be missing. Make sure to compare this table and especially the relationships with other tables against a new CM DB... Good luck. – Nuno Linhares Dec 1 '14 at 13:08
  • Tridion 2013 SP1 has a new API method to de-commission a Publication Target. – robrtc Dec 1 '14 at 14:34
8

For starters you should never have to access the Tridion_cm database directly, its model is not public and making changes to it voids your warranty.

So what I would always advise upfront when you plan to be naughty anyways, is to create a backup of the database, so that in case the changes you made are breaking it somehow, you have a way to revert.

But better would be not to touch the database at all, if you need to interact with the CM, you should use the appropriate APIs for that. For example deleting a Publish Transaction or a Publication Target is stuff you can do via the Core Service API. If you are having difficulties doing that, then there is a good reason for it (the Target being in use for example).

It sounds like you have broken your database, you should really restore the latest backup you have, or create a complete new one and lose all your data. I don't know a process to fix what you have broken. You have already void your warranty, so whatever you do now is not going to restore that, a previous backup (before you touched the database) or a new database would bring you in a supported situation again...

  • +1 for 1. saying not to use the DB directly 2. always have a backup available when you do – Bjørn van Dommelen Dec 2 '14 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.