Unable to rename specific TMs - problem with double entries in sts.Resource table

Hi community,

there is a special set of TMs on our GS 2014 Server which cannot be renamed to the correct name.

The error message is that the resource is already existing.

When looking into the sts.Resource table this is true: the resource name is already existing as resourceTypeID=8 i.e. also a TM.

But this TM will not be shown in the GS GUI.

So I guess the hidden TMs are hanging, not grounded.

Can I delete them in the sts.Resource table simply, or do I have to respect other side effects also?

Does someone has experience with removing not grounded objects from sts.Resource table?



  • Hi,

    it looks as you detached TM container on SQL, so the sts.Resource table was not updated correctly and it still contains references to the non-existing TMs, if you would do it from GS UI, the sts.Resource should have been updated correctly and consistently. This is most natural explanation in my view, unless it is another glitch in GS. Could you let me know if my assumption is right or what did you actually do?

    Anyway, in general there are 3 tables which contain information about the resources (TMs, lng. resources, etc...) .

    - SDLSystem.etm.TranslationMemory

    - SDLSystem.sts.Resource

    - [ContainerName].dbo.translation_memories

    These have to be checked for inconsistencies. 



  • Hi Fana,

    thank you for the table names to check.
    You were completely right, I found inconsistencies in the tables you mentioned!
    The tables

    - SDLSystem.etm.TranslationMemory

    - [ContainerName].dbo.translation_memories

    are containing correct values whereas in

    - SDLSystem.sts.Resource

    there were additional TMs not shown in the GroupShare GUI/Studio client.
    I could identify the ghost TMs using following query:

    SELECT TOP 1000 [resourceId],[resourceGuid],[resourceTypeId],[resourceName],[resourceDescription]

    FROM [SDLSystem].[sts].[Resource]

    where resourceTypeId = '8' and resourceGuid not in (select UniqueId from [SDLSystem].[etm].[TranslationMemory] )

    order by resourceName

    After deleting the corresponding entries from


    the problem was gone, I was able to rename the TMs to the correct name which were occupied by the ghost TMs before!
    I really cannot imagine how this has happened, but for sure there were no manual manipulations done on DB level.

    On question remains on my side which I could not solve:
    I found no connection between the container table

    - [ContainerName].dbo.translation_memories

    and the other tables in the sense of a unique ID.

    Not the id, guid or name (which is a strange piped entry) of this container table I could use to find appropriate entries in the other two tables, only the TM name would be an identification hint.



  • Hi Rainer,

    actually there is way (nasty way) how to join all 3 tables only the TM name you are looking in the "[ContainerName].dbo.translation_memories" table is in column "name" as concatenated string. 

    for instance, if TM name = TEST_enUS_deDE it exists in  [ContainerName].dbo.translation_memories table in column "name" and will look like this 3859e45d-bec8-4175-aa2f-44918692aac2|en-US_de-DE|TEST_enUS_deDE.