Мы используем репликацию слиянием в одной из наших программ, и я хотел бы позволить нашим пользователям принудительно синхронизировать свои ноутбуки с издателем по мере необходимости (мы используем push-подписки). Я получил эту работу, используя REPLMERG.EXE (see my previous question).Разрешения, необходимые для запуска REPLMERG.EXE
Однако, когда пользователи TrID для запуска сценария они получили следующее сообщение об ошибке:
Только члены сисадмина или db_owner роли могут выполнять эту операцию.
...
Exec sp_MSreplcheck_subscribe
...
Если добавить группу вход в систему пользователей, как db_owner на их локальной базе данных подписки, то скрипт работает правильно. Проблема в том, что они также получают полный доступ к каждой таблице в своей локальной базе данных, с которой мы не можем жить.
Позволяет пользователям в топологии репликации слияния синхронизировать свои локальные push-подписки по требованию, не давая им полномасштабный контроль над db, кажется довольно простым вариантом использования, но я не могу заставить его работать.
Мы используем нажимные подписки, не тянуть подписки. Я не знаю, имеет ли значение какое-либо значение в отношении разрешений. – mwolfe02
В той же ссылке: «Учетная запись, используемая для подключения к подписчику, должна как минимум быть членом фиксированной роли базы данных db_owner в базе данных подписки». –
Точно ответил на заданный вопрос, спасибо Ремусу. Для других, кто, возможно, столкнулся с той же дилеммой, что и мы, см. Ниже для нашего обходного пути. Я буду счастливо расширять наше решение, если у вас есть интерес. – mwolfe02