积极答复者
取消客户共享问题

问题
-
把客户共享了,会在principalobjectaccess中有记录,但发现我们取消了共享后,相应的记录还在,这是什么回事?
另,systemuserprincipals存放的又是什么记录?- 已编辑 yongxinlysss 2012年9月4日 9:57 modify
答案
-
共享后, 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, 貌似没什么作用
- 已标记为答案 yongxinlysss 2012年9月5日 2:27
全部回复
-
共享后, 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, 貌似没什么作用
- 已标记为答案 yongxinlysss 2012年9月5日 2:27