SQL Server 2005 - Предоставление разрешения на создание хранимых процедур (но не других объектов) - PullRequest
4 голосов
/ 22 октября 2008

Я хочу предоставить пользователю разрешение на создание, изменение и выполнение хранимых процедур, но без возможности создания других объектов базы данных. Я исключил их из роли db_ddladmin, но явно предоставил разрешения «Создать процедуру» и «Выполнить». Эти разрешения отображаются в списке действующих разрешений. Однако когда я пытаюсь создать хранимую процедуру с этим логином, я получаю следующую ошибку:

"Указанное имя схемы" dbo "либо не существует, либо у вас нет разрешения на его использование."

Есть предложения?

Ответы [ 2 ]

5 голосов
/ 22 октября 2008

Пользователь может создавать процедуры в собственной схеме. Таким образом, вы можете настроить схему для пользователя, чтобы сделать работу по разработке. Затем, если это должен быть dbo, администратор может поместить его туда, когда разработка будет завершена.

2 голосов
/ 22 октября 2008

Если вы можете создать (или изменить) и выполнить хранимую процедуру, вы можете сделать что угодно.

Выполнение хранимой процедуры подразумевает все другие разрешения в контексте этой процедуры. Поэтому, если вы можете изменить процедуру и , запустите ее, нет смысла что-либо ограничивать. Вы можете просто заставить процедуру выступать в качестве доверенного лица от вашего имени.

...