将数据库还原到tridion的其他实例
发布时间:2020-12-12 08:53:11 所属栏目:MsSql教程 来源:网络整理
导读:我有大部分的方式,但似乎有一个权限问题: 在恢复之前,一切都在我的目标环境中正常工作 – 目标有一个服务器登录帐户TCMDBUser,它映射到我的tridion_cm数据库用户TCMDBUser 我的源tridion_cm数据库有用户TCMDBUser_DEV. 将源.bak恢复到我的目标TCMDBUser_DEV
我有大部分的方式,但似乎有一个权限问题:
在恢复之前,一切都在我的目标环境中正常工作 – 目标有一个服务器登录帐户TCMDBUser,它映射到我的tridion_cm数据库用户TCMDBUser 我的源tridion_cm数据库有用户TCMDBUser_DEV. 将源.bak恢复到我的目标TCMDBUser_DEV后是孤立的. 我编辑TRUSTEES表以更正我的目标环境的MTSUser和管理员日志帐户,并运行以下命令来修复我的孤立数据库用户: sp_change_users_login @Action='update_one',@UserNamePattern='TCMDBUser_DEV',@LoginName='TCMDBUser' GO 我可以重新登录Tridion资源管理器并查看预期的发布列表,并可以浏览树结构但是当我来到一个应该包含项目的文件夹时,我看不到任何错误: 和相应的事件日志错误是: 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,EnumListKind,ListColumnFilter,String) Folder.GetListItems 解决方法像Chris提到的那样,我总是从数据库中删除用户,然后在SQL Server中为现有的TCMDBUser分配对已恢复数据库的权限.您可以使用以下命令(在还原的数据库上)删除用户:EXEC sp_dropuser TCMDBUser 然后通过SQL Server – Security – Logins,您可以请求TCMDBUser的属性,并在User Mapping中添加以下数据库角色:db_datareader,db_datawriter和db_ddladmin. 这就是我过去一直在做的并且对我有用,不确定是否都需要,但值得一试我猜 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |