Поделиться через


Как разрешить использование монитора репликации пользователям без прав администратора (программирование репликации на языке Transact-SQL)

Возможность мониторинга топологии репликации предоставляется только предопределенной роли сервера sysadmin, предопределенной роли базы данных db_owner и предопределенной роли базы данных replmonitor в базе данных распространителя. Назначить предопределенную роль базы данных replmonitor новому пользователю можно программным способом с помощью системных хранимых процедур.

Добавление пользователя к предопределенной роли «replmonitor» базы данных

  1. В базе данных на распространителе выполните процедуру, описанную в разделе sp_helpuser (Transact-SQL). Если пользователь не указан в поле UserName результирующего набора, ему должен быть предоставлен доступ к базе данных распространителя с помощью инструкции CREATE USER (Transact-SQL).

  2. В базе данных распространителя на распространителе выполните процедуру sp_helprolemember (Transact-SQL), указав значение replmonitor в параметре @rolename. Если пользователь указан в поле MemberName результирующего набора, он уже принадлежит этой роли.

  3. Если пользователь не принадлежит роли replmonitor, выполните процедуру Хранимая процедура sp_addrolemember (Transact-SQL) в базе данных распространителя на распространителе. Укажите значение replmonitor для @rolename, а также добавляемое имя пользователя базы данных или имя входа Microsoft Windows для @membername.

Удаление пользователя из предопределенной роли «replmonitor» базы данных

  1. Чтобы проверить, что пользователь принадлежит роли replmonitor, выполните в базе данных распространителя на распространителе процедуру sp_helprolemember (Transact-SQL) и задайте значение replmonitor для @rolename. Если пользователь не указан в поле MemberName результирующего набора, в данный момент он не принадлежит этой роли.

  2. Если пользователь принадлежит роли replmonitor, выполните процедуру sp_droprolemember (Transact-SQL) в базе данных распространителя на распространителе. Укажите значение replmonitor для @rolename, а также удаляемое имя пользователя базы данных или имя входа Windows для @membername.