我无法生成快照并生成日志阅读器而无需将repldata文件夹完全控制到用户组Everyone,这似乎是最不安全的设置。
我正在使用RMO和SMO创建一个WPF应用程序来设置SQL Server Replication。我的安排是一台计算机上的发布者和分发者,另一台使用推送事务复制的订阅者。我使用Windows身份验证的用户作为快照和log_reader代理。它们被赋予每个复制数据库的db_owner,以及分发数据库上的db_owner和replmonitor。它们每个都具有sysadmin服务器角色。
如果我授予快照和log_reader windows用户以及sqlserveragent用户对repldata文件夹的完全控制权,则复制仍然失败。错误很简单,操作系统错误5:访问被拒绝。
是否有更严格的用户组我可以授予完全控制权,或者我忘记了用户授予完全控制权?
答案 0 :(得分:1)
我相信您遇到操作系统错误5:访问被拒绝,因为您尚未授予快照共享上的分发代理读取权限。您提到您已授予快照和日志读取器代理的权限,但未授予分发代理。
对于推送订阅,分发代理必须至少是分发和订阅数据库中 db_owner 固定数据库角色的成员,是PAL的成员,并且具有读取权限。快照共享。 Replication Agent Security Model中还有 代理商所需的权限 中涵盖的其他注意事项。