J'ai fait une bonne partie du chemin, mais il semble y avoir un problème d'autorisations quelque part :
Avant la restauration, tout fonctionne correctement dans mon environnement cible - la cible possède un compte de connexion au serveur TCMDBUser qui est mappé à mon utilisateur de base de données tridion_cm TCMDBUser.
Ma base de données source tridion_cm a un utilisateur TCMDBUser_DEV.
Après avoir restauré le .bak source dans ma cible, TCMDBUser_DEV est orphelin.
Je modifie la table TRUSTEES pour corriger MTSUser et mes comptes de log admin pour mon environnement cible et j'exécute ce qui suit pour réparer mon utilisateur de base de données orphelin :
sp_change_users_login @Action='update_one',
@UserNamePattern='TCMDBUser_DEV',
@LoginName='TCMDBUser'
GO
Je peux me reconnecter à l'explorateur Tridion et voir la liste des publications attendue et je peux me promener dans l'arborescence, mais lorsque j'arrive à un dossier qui devrait contenir des éléments, je ne vois rien avec une erreur :
et l'erreur correspondante dans le journal des événements est :
Unable to get list of SDL Tridion Content Manager items.
DESCRIPTION
Error Code:
0x80040000 (-2147221504)
Call stack:
System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String)
System.Data.SqlClient.SqlDataReader.GetOrdinal(String)
System.Data.SqlClient.SqlDataReader.get_Item(String)
Tridion.ContentManager.Data.AdoNet.DatabaseUtilities.ConvertToFieldDictionary(IDataRecord,IDictionary`2)
Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Read(TcmUri,IDataRecord,IDictionary`2)
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.GetListItemsPost(IDataReader,TcmUri,OrganizationalItemItemsFilterData)
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.Tridion.ContentManager.Data.ContentManagement.IOrganizationalItemDataMapper.GetListItems(TcmUri,OrganizationalItemItemsFilterData)
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsData(OrganizationalItemItemsFilter)
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsStream(OrganizationalItemItemsFilter)
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListItemsXml(UserContext,String,ListFilter,ListColumnFilter)
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListData(UserContext,String,EnumListKind,ListColumnFilter,String)
Folder.GetListItems