0 голосов против
У меня есть база данных, которую я публикую на удаленном сайте с помощью репликации моментальных снимков (единственный метод, который будет работать с учетом схемы приложения и базы данных). Поскольку таблицы базы данных реплик недоступны во время обновления базы данных, я делаю и отправляю моментальные снимки дважды в день. Для целевой группы пользователей это нормально в 99% случаев.
Иногда они могут захотеть вручную запустить снимок, чтобы реплика обновилась. Мой вопрос: как предоставить разрешение в MSSQL 2005, чтобы пользователь мог это сделать?
Я добавил свою тестовую учетную запись к роли SQLAgentUser в msdb и к роли replmonitor в базе данных распространителя. Это позволяет мне запустить Replication Monitor и просмотреть публикацию. Когда я пытаюсь запустить «Создать снимок», я получаю такую ошибку:
«Указанное имя @job_name ('VULCAN-MfgSys803-Vantage8-ProdGLData-3') не существует. (Microsoft SQL Server, ошибка 14262)»
Я попытался предоставить себе права EXECUTE на xp_sqlagent_enum_job в мастере, но это тоже не помогло.
Репликация контролируется с помощью заданий. Добавьте нужную учетную запись в роль SQLAgentOperator в базе данных msdb. Это должно решить проблему.