У меня есть пользователь, который может читать и писать, но теперь ему нужно иметь возможность создавать / изменять 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 для схемы, в которой создается процедура.
Редактировать:
Если ваша схема предназначена только для сохраненных процессов, тогда все должно быть в порядке, без побочных эффектов, таких как возможность изменять разрешения или создавать таблицы.