2013-05-31 2 views
1

У меня установлена ​​репликация слияния с публикацией на нашем dev-сервере (SQL Server 2008 R2 SP2) и подпиской на моем локальном компьютере. Издатель выступает в качестве своего дистрибьютора. Связи издателя и дистрибьютора в свойствах подписки на моем локальном компьютере используют логин (от сервера dev), который находится в списке доступа к публикации (PAL) публикации. Если я добавлю этот логин к роли сервера sysadmin в издателе, все будет хорошо работать при синхронизации подписки. Но если я удалю логин с роли сервера sysadmin, синхронизация не будет работать - я получаю таймаут («Тайм-аут операции»).Ошибка разрешений на репликацию SQL Server

Насколько я понимаю, мне просто нужно было добавить логин в PAL, но я должен упустить что-то с необходимыми разрешениями.

Другой вопрос: есть ли возможность создать роль базы данных, члены которой будут автоматически добавлены в PAL. Я где-то читал, что это возможно с SQL Server 2008 SP3; Мне интересно, возможно ли это с SP2. Или есть способ создать роль базы данных, которая будет иметь все необходимые разрешения, чтобы ее участники (пользователи) могли использоваться в подписке (как соединения издателя и дистрибьютора)?

Основой всего этого является то, что у нас есть пользователи, подписавшиеся на нашу публикацию, но мы хотим только реплицировать данные на основе их логина. Итак, у нас есть строки фильтров на наших статьях, которые используют SUSER_SNAME().

Заранее спасибо.

Брэд

ответ

2

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

Если это потоковая подписка, то учетная запись процесса Merge Agent, используемая для подключения к Абоненту, должна быть db_owner в базе данных подписки. Учетная запись, используемая для подключения к издателю и распространителю, должна быть членом PAL, логином, связанным с пользователем в базах публикации и распространения, и иметь разрешения на чтение для общего ресурса моментальных снимков.

Все это рассматривается в разделе Права, требуемые агентами в Replication Agent Security Model.

+0

Спасибо, Брэндон. В моих свойствах публикации в разделе «Снимок» я отключил «Поместить файлы в следующую папку»; путь к файлу является частью где-то в нашей сети. Имеет ли «разрешение на чтение для общего ресурса моментального снимка» означает, что для учетной записи, которую я использую для подключений издателя и дистрибьютора, необходимо иметь разрешения на чтение в папке, где находится файл моментальных снимков? – user1360192

+0

Извините за задержку, да, учетная запись, которую вы используете для соединений издателя и дистрибьютора, должна иметь разрешения на чтение в папке моментальных снимков. –

+0

Я не добавил пользователя в свою базу данных распространения. Как только я это сделал, все сработало нормально. Еще раз спасибо, Брэндон. – user1360192

Смежные вопросы