我刚刚安装了MS CRM 2011,定制了它,导入了大量数据,然后我更改了一些设置:团队,业务部门,用户角色等。刷新后,所有用户都被锁定了。
我们现在正尝试通过SQL数据库重置用户设置,但我们不确定要编辑哪些表以及如何编辑?
答案 0 :(得分:1)
不要这样做!
权限仅在应用程序内进行管理。通过直接SQL执行此操作是完全不受支持的,并将以泪流满面。数据库级别的安全模型很复杂且没有文档。如果您手动操作它,您可以确定您将破坏安装并需要完全重新安装。
希望您没有更改默认角色。如果是这种情况,请将默认角色授予用户,然后复制这些角色,作为新角色的基础,供您自定义。
很可能您已经删除了对读取和写入用户数据,核心记录和系统设置等内容的访问权限,但手动将其重新拼凑在一起可能会很麻烦。
如果您已覆盖原始角色,则根据您拥有的CRM 2011版本,您可以恢复原始角色定义:
然后,您应该已经恢复了角色,并且可以有效地重新启动安全性自定义。
答案 1 :(得分:1)
(从我原来的,"更清洁"回答)。
OP可能会从所有用户(TBC)中删除系统管理员角色。如果是这样,使用SQL将此角色还原给用户仍然不受支持,但相对容易做到:
-- Get id of sys admin role:
SELECT RoleId from [YourOrg_MSCRM].dbo.RoleBase where Name = 'System Administrator'
-- Get id of user to grant access
SELECT systemuserid from [YourOrg_MSCRM].dbo.SystemUserBase where DomainName = 'MyDomain\MyUser'
-- Check role is not already granted (result should be 0)
SELECT COUNT(*) FROM [YourOrg_MSCRM].dbo.SystemUserRoles WHERE RoleId = '[Id of Role]' AND SystemUserId = '[Id of user]'
-- Insert role against that user
INSERT INTO [YourOrg_MSCRM].[dbo].[SystemUserRoles]([SystemUserId],[RoleId],[SystemUserRoleId])
VALUES ([Id of user] ,[Id of role], NEWID())
答案 2 :(得分:0)
在尝试以下步骤之前,我会创建一个新租户,以确保您的主数据库/ AD环境仍然可用。如果可行,那么我会尝试从备份中恢复。
如果您在更改之前有数据库备份,则可以使用the Import Organization process,这会使您返回到先前的状态。您需要在开始之前备份租户和主数据库。
如果它仍然不起作用:
如果不这样做,您可以rebuild from scratch