Назад | Перейти на главную страницу

SQL 2008. Как позволить пользователю создавать / изменять sprocs только в одной конкретной схеме?

У меня есть пользователь, который может читать и писать, но теперь ему нужно иметь возможность создавать / изменять sproc, но предоставление ему ddl_admin сделает его слишком небезопасным. Я ему не очень доверяю.

Что я могу с этим поделать? Могу ли я как-то дать ему права изменять sproc только в одной схеме (я создам схему для его собственного использования)?

SQL Server 2005+ имеет гораздо более детальные разрешения

GRANT CREATE PROCEDURE TO MyRoleorUser
GRANT ALTER ON SCHEMA:TheSchemaName TO MyRoleorUser

"ddl_admin" - это просто устаревшая оболочка для этих новых разрешений.

Из СОЗДАТЬ ПРОЦЕДУРУ в MSDN

Требуется разрешение CREATE PROCEDURE в базе данных и разрешение ALTER для схемы, в которой создается процедура.

Редактировать:

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