FYI: SQL Server 2005Какие права доступа к базе данных необходимы?
У меня есть учетная запись пользователя базы данных (user_web), которая имеет возможность подключаться и запускать запросы и хранимые процедуры в моей базе данных. В частности, я дал пользователю роли db_datareader
и db_datawriter
, а также предоставил им разрешение на выполнение определенных хранимых процедур, которые он должен выполнить.
В одной из хранимых процедур мне нужно отключить триггер, а затем снова включить его после выполнения некоторых конкретных изменений. При попытке запустить эту хранимую процедуру с пользователем, я получаю следующее сообщение об ошибке:
Cannot find the object "TableName" because it does not exist or you do not have permissions.
TableName
является таблицей, в которой я пытаюсь отключить и включить триггер. Мой вопрос в том, что является наименьшим количеством разрешений, которые я могу предоставить моей учетной записи пользователя, что позволит ему успешно запустить хранимую процедуру.
Он может также изучить с помощью сертификата на хранимой процедуре, хотя я думаю, что это необходимо, только если есть проблема цепочки владения (?) Если безопасность критически, хотя, одеяло db_datareader и db_datawriter вероятно, не должен Используется. –
Я согласен с Томом о db_datareader и db_datawriter. Я не большой поклонник сертификатов, потому что я думаю, что это боль, особенно когда материал все еще находится в активном развитии. –