We found more than 15,000 records in table dbo.ITEMS, at broker DB, which belongs to around 10 publications. But the records related component already be deleted from CMS long time ago. So there is no way to un-publish and clean these ghost records.

Right now We want to delete these legacy publications, but couldn't. Since there is no way to un-publish these components. Run SQL script to clean them is not an option since this kind of operation is out of support.

Any ideas how can we clean them safely?

  • How were you able to delete from cme without unpublishing?
    – Hiren Kaku
    Oct 26, 2016 at 1:49
  • Your question doesn't make much sense. Anything in the ITEMS table is clearly not deleted. I get the sense that you're really just talking about unpublishing from a deleted Publication Target (a topic covered here multiple times before) but the way it is phrased right now make it seem like your database is completely messed up. Could you clarify? Oct 26, 2016 at 6:33
  • It can also happen if you reset the publish status in the CM using the old COM API or the old Powertools.
    – Nuno Linhares
    Nov 9, 2016 at 11:30

2 Answers 2


Actually, this situation is possible. We had a situation where there where "orphan" component presentations in broker database for already deleted components. We contacted SDL customer support and what they suggested us is that we should manually create unpublish packages for those components. This is our response from SDL support:

Hello Marko,

The behavior that you are experiencing can happen, for example, when changing the cd_storage_conf.xml and republishing the items - without unpublishing first.

Therefore, when you unpublish the item, the deployer takes as a reference the latest cd_Storage_conf.xml and removes the references from the current location.

This may leave behind some references in the broker database that we call 'orphan records'. We have seen other customers experiencing this and we usually recommend to simulate the unpublish of the package so that all the references are removed from the broker database.

You can achieve this by following the steps of the article I have attached to this support ticket:

Simulate an unpublish package by using another component and then use this same package (changing its content to point to the real component you want to delete) and then deploy this new unpublish package::

Change the cd_deployer_conf.xml to have clean up set to false, so that you can capture the unpublish package. Take another component present in the same publication and unpublish it. Navigate to the deployer's incoming folder and copy the generated package to another location. Unzip that package and open the instructions.xml and the transactions.xml files. Ensure to change the tcm id present to match the id of the component you want to delete. After ensuring that you only have references to the id of the component you want to delete, zip again the package. Place the package in the incoming folder and this should cause the component to be unpublished.

Please let me know if you have any questions on this information. You can view the current status or add an update to your case at any point on the SDL Customer Gateway Please do not modify the subject line when sending any related correspondence.

Kind regards,

Rute Oliveira

  • Marko how did u setup legacy deployer for SDL Web8.5. Can u please send us steps for that? Jun 24, 2018 at 14:18
  • actually we didn't. this issue is not depending on legacy publishing. it can be related to current publish setup, or legacy publishing. it will also work with both 8.5 or 2013 or 2011 publishing
    – Marko Milic
    Jun 26, 2018 at 8:13

If you want to delete old publications from the Content Manager, you should consider first decommissioning the legacy publication targets. This effectively means telling the Content Manager to "forget" about any items it has published to those targets. There is similar functionality in Web 8 for content delivery environments.

If you have old content in your Content Delivery systems, the cleanest way to deal with it is simply to delete it. In other words, delete file system content and drop the relevant broker databases. Of course, you will probably wish to first set up a new publication target publish out a clean set of content to it. Once you've switched your site over to the new target, you can do the clean up.

Of course, in the real world you may have other constraints, and your strategy may need to be more complex. In that case you should consider hiring a consultant with experience in this area. There are enough possibilities, but it's important to have a good understanding of how the different parts of the system interact.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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