我试图了解Server 2005复制是如何工作的,我正在查看名为Msmerge_[Publication]_[Table]_VIEW的视图。这些视图似乎定义了合并筛选器,并且非常直接,除了WHERE子句中的一行sql之外:
AND ({fn ISPALUSER('1A381615-B57D-4915-BA4B-E16BF7A9AC58')} = 1)ISPALUSER函数是做什么的?我似乎找不到它在任何地方的管理工作室的职能,也没有真正提到它在网上。
(我查看这些视图的原因是,当客户端复制新记录时,会出现性能问题。像if not exists (select 1 from [MSmerge_[Publication]_[Table]_VIEW] where [rowguid] = @rowguid)这样的Sql正在运行,每行占用10+秒,这会在超过几行的情况下显著降低性能))
发布于 2009-08-06 09:38:34
它似乎检查用户是否处于特殊的安全角色MSmerge_PAL_role中,该角色似乎控制谁有权访问复制功能。
因此,ISPALUSER检查用户是否处于该特定角色中。
仍然不确定PAL代表什么。
https://stackoverflow.com/questions/1232570
复制相似问题