2009-05-08 3 views
2

Я хочу, чтобы иметь возможность запрашивать пакет SSIS по своему желанию из веб-приложения. Я обнаружил, что могу сделать это успешно с помощью sp_start_job при работе на моем локальном компьютере. Тем не менее, когда я публикую на нашем тестовом сайте, я получаю:Как предоставить разрешения для хранимых процедур SqlServer 2005 (например, 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 

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

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

ответ

2

От MSDN:

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

* SQLAgentUserRole 
* SQLAgentReaderRole 
* SQLAgentOperatorRole 
+0

спасибо за информацию. Первые две роли не работали для меня, но SQLAgentOperatorRole. Единственное, что он имеет несколько больше разрешений, чем хотелось бы. Есть ли способ создать мою собственную роль, которая * just * имеет разрешение на выполнение задания? – Nathan

+0

Для других, кто, возможно, пропустил это, это роли в базе ** ** msdb **. – ps2goat

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