У меня установлена репликация слияния с публикацией на нашем dev-сервере (SQL Server 2008 R2 SP2) и подпиской на моем локальном компьютере. Издатель выступает в качестве своего дистрибьютора. Связи издателя и дистрибьютора в свойствах подписки на моем локальном компьютере используют логин (от сервера dev), который находится в списке доступа к публикации (PAL) публикации. Если я добавлю этот логин к роли сервера sysadmin в издателе, все будет хорошо работать при синхронизации подписки. Но если я удалю логин с роли сервера sysadmin, синхронизация не будет работать - я получаю таймаут («Тайм-аут операции»).Ошибка разрешений на репликацию SQL Server
Насколько я понимаю, мне просто нужно было добавить логин в PAL, но я должен упустить что-то с необходимыми разрешениями.
Другой вопрос: есть ли возможность создать роль базы данных, члены которой будут автоматически добавлены в PAL. Я где-то читал, что это возможно с SQL Server 2008 SP3; Мне интересно, возможно ли это с SP2. Или есть способ создать роль базы данных, которая будет иметь все необходимые разрешения, чтобы ее участники (пользователи) могли использоваться в подписке (как соединения издателя и дистрибьютора)?
Основой всего этого является то, что у нас есть пользователи, подписавшиеся на нашу публикацию, но мы хотим только реплицировать данные на основе их логина. Итак, у нас есть строки фильтров на наших статьях, которые используют SUSER_SNAME()
.
Заранее спасибо.
Брэд
Спасибо, Брэндон. В моих свойствах публикации в разделе «Снимок» я отключил «Поместить файлы в следующую папку»; путь к файлу является частью где-то в нашей сети. Имеет ли «разрешение на чтение для общего ресурса моментального снимка» означает, что для учетной записи, которую я использую для подключений издателя и дистрибьютора, необходимо иметь разрешения на чтение в папке, где находится файл моментальных снимков? – user1360192
Извините за задержку, да, учетная запись, которую вы используете для соединений издателя и дистрибьютора, должна иметь разрешения на чтение в папке моментальных снимков. –
Я не добавил пользователя в свою базу данных распространения. Как только я это сделал, все сработало нормально. Еще раз спасибо, Брэндон. – user1360192