Мы используем репликацию слиянием в одной из наших программ, и я хотел бы разрешить нашим пользователям принудительно синхронизировать свои ноутбуки с издателем по мере необходимости (мы используем принудительную подписку). Я получил это с помощью REPLMERG.EXE ( см. Мой предыдущий вопрос ).
Однако, когда пользователи запускают скрипт, они получают следующее сообщение об ошибке:
Только члены ролей sysadmin или db_owner могут выполнять эту операцию.
...
exec sp_MSreplcheck_subscribe
...
Если я добавлю имя пользователя группы в качестве пользователя db_owner в их локальную базу данных подписки, сценарий будет работать правильно. Проблема в том, что они также получают полный доступ к каждой таблице в своей локальной базе данных, с которой мы не можем жить.
Разрешение пользователям в топологии репликации слиянием синхронизировать свои локальные push-подписки по требованию без предоставления им полноценного контроля над базой данных кажется довольно простым вариантом использования, но я не могу заставить его работать.