允许非管理员使用复制监视器

适用于:SQL ServerAzure SQL 托管实例

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中允许非管理员使用复制监视器。 属于下列角色成员的用户可以使用复制监视器:

  • sysadmin 固定服务器角色。

    这些用户可以监视复制,并对更改复制属性(如代理计划、代理配置文件等)拥有完全控制权。

  • 分发数据库中的 replmonitor 数据库角色。

    这些用户可以监视复制,但不能更改任何复制属性。

本主题内容

开始之前

安全性

权限

若要允许非管理员使用复制监视器, sysadmin 固定服务器角色的成员必须将用户添加到分发数据库,并向该用户分配 replmonitor 角色。

使用 SQL Server Management Studio

允许非管理员使用复制监视器

  1. 在 SQL Server Management Studio 中连接到分发服务器,然后展开服务器节点。

  2. 依次展开 “数据库”“系统数据库”和分发数据库(默认名称为 distribution )。

  3. 展开 “安全性”,右键单击 “用户”,然后单击 “新建用户”

  4. 输入用户名和用户的登录名。

  5. 选择默认的 replmonitor架构。

  6. “数据库角色成员身份” 网格中,选中 “replmonitor” 复选框。

  7. 选择“确定”

“使用 Transact-SQL”

将用户添加到 replmonitor 固定数据库角色

  1. 在分发数据库中的分发服务器上,执行 sp_helpuser (Transact-SQL)。 如果未在结果集中的用户名中列出此用户,则必须使用创建用户 (Transact-SQL) 语句为用户授予对分发数据库的访问权限。

  2. 在分发数据库中的分发服务器上,执行 sp_helprolemember (Transact-SQL),并为 @rolename 参数指定值“replmonitor”。 如果在结果集中的 MemberName 中列出此用户,则此用户已属于此角色。

  3. 如果此用户不属于“replmonitor”角色,则在分发数据库中的分发服务器上执行 sp_addrolemember (Transact-SQL)。 为 @rolename 指定值“replmonitor”,为 @membername 指定要添加的数据库用户名或 Microsoft Windows 登录名。

从 replmonitor 固定数据库角色中删除用户

  1. 要验证用户是否属于“replmonitor”角色,请在分发数据库中的分发服务器上执行 sp_helprolemember (Transact-SQL),并为 @rolename 指定值“replmonitor”。 如果在结果集中的 MemberName 中未列出此用户,则此用户当前不属于此角色。

  2. 如果此用户属于“replmonitor”角色,则在分发数据库上的分发服务器中执行 sp_droprolemember (Transact-SQL)。 为 @rolename 指定值 replmonitor,并为 @membername 指定要删除的数据库用户名或 Windows 登录名。