微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将数据库还原到tridion的其他实例

我有大部分的方式,但似乎有一个权限问题:

在恢复之前,一切都在我的目标环境中正常工作 – 目标有一个服务器登录帐户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.

这就是我过去一直在做的并且对我有用,不确定是否都需要,但值得一试我猜

原文地址:https://www.jb51.cc/mssql/74984.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐