none
取消客户共享问题 RRS feed

  • 问题

  • 把客户共享了,会在principalobjectaccess中有记录,但发现我们取消了共享后,相应的记录还在,这是什么回事?
    另,systemuserprincipals存放的又是什么记录?
    2012年9月4日 9:26

答案

  • 共享后, pincipalobjectaccess会添加一条记录, 共享的权限由AccessRightsMask这个数值决定(Read = 1, Write = 2, Append = 4, AppendTo = 16, Create = 16,Delete = 65536,Share = 262144, Assign = 524288。 所以如果数值为3,权限则为1+2,也就是read/write;数值为7,权限就是1+2+4等等) 取消了共享, 记录不会被删除,但AccessRightsMask这个数值归零。至于为什么不直接删除该记录(物理删除)而选择数值归零(逻辑删除),可能是因为该表结构过于复杂,会影响到其他表。也可能是审计/auditing的要求吧。因为每一次共享或取消,我发现那个versionnumber都会变动。

    systemuserprincipals好像存放的是system user的id, 貌似没什么作用

    2012年9月4日 21:31

全部回复

  • 共享后, pincipalobjectaccess会添加一条记录, 共享的权限由AccessRightsMask这个数值决定(Read = 1, Write = 2, Append = 4, AppendTo = 16, Create = 16,Delete = 65536,Share = 262144, Assign = 524288。 所以如果数值为3,权限则为1+2,也就是read/write;数值为7,权限就是1+2+4等等) 取消了共享, 记录不会被删除,但AccessRightsMask这个数值归零。至于为什么不直接删除该记录(物理删除)而选择数值归零(逻辑删除),可能是因为该表结构过于复杂,会影响到其他表。也可能是审计/auditing的要求吧。因为每一次共享或取消,我发现那个versionnumber都会变动。

    systemuserprincipals好像存放的是system user的id, 貌似没什么作用

    2012年9月4日 21:31
  • 谢谢楼主,共享取消后,AccessRightsMask值是为0。我曾经把整个表的记录都删了,目前还没发现有什么影响。但我担心不删纪录会不会太多了!

    2012年9月5日 2:27
  • 我只能说我不建议删除, 但假如数据库过大,我也只会建议你参考一下crm优化和维护。 另,删除之前最好先做个备份。

    2012年9月5日 17:10