Как предоставить разрешения системным хранимым процессам SqlServer 2005 (например, sp_start_job) - PullRequest
2 голосов
/ 08 мая 2009

Я хочу иметь возможность по запросу вызывать пакет служб SSIS из веб-приложения. Я обнаружил, что я могу сделать это успешно с sp_start_job при работе на моем локальном компьютере. Однако, когда я публикую на нашем тестовом сайте, я получаю:

The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema dbo'

Итак, я попробовал это

USE msdb

CREATE USER [TheUser] FOR LOGIN [TheLogin]
GO

GRANT EXECUTE ON sp_start_job TO [TheUser]
GO

Тем не менее, после этого я все еще получаю сообщение об ошибке «Отказано в доступе». Есть ли что-то особенное, что вы должны сделать для предоставления разрешений системным хранимым процессам?

Редактировать: не знаю, имеет ли это значение или нет, но веб-сервер находится в демилитаризованной зоне, поэтому я использую аутентификацию сервера sql для связи между веб-сервером и сервером db.

1 Ответ

2 голосов
/ 09 мая 2009

С MSDN :

По умолчанию члены сисадмина фиксированная роль сервера может выполнить это хранимая процедура. Другие пользователи должны быть предоставлен один из следующих SQL Фиксированные роли базы данных агента сервера в база данных msdb:

* SQLAgentUserRole
* SQLAgentReaderRole
* SQLAgentOperatorRole
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...