Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
Sergey Sergeev
Member

Откуда:
Сообщений: 37
Здравствуйте, скажите пожалуйста, можно в MSSQL сделать permission на вставку записи в таблицу только для хранимой процедуры, а не для пользователя?
26 окт 04, 16:01    [1062063]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Хранимка всегда выполняется не от имени вызвавшего, а от имени создавшего эту процедуру.
Так что вот тебе поле для размышлений...
26 окт 04, 16:05    [1062089]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
Breakneck
Member

Откуда: Kiev
Сообщений: 2454
aleksey_fomchenko
Хранимка всегда выполняется не от имени вызвавшего, а от имени создавшего эту процедуру.
Так что вот тебе поле для размышлений...

Не от имени создавшего, а от имени владельца.
2Sergey Sergeev: это значит, что когда Вы вызываете процедуру dbo.proc1, она будет выполняться в контексте dbo. Пользователю в таком случае достаточно иметь права на запуск процедуры.
26 окт 04, 16:07    [1062094]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Хранимка всегда выполняется не от имени вызвавшего, а от имени создавшего эту процедуру.
Опять это неправильное понимание.
Процедура _выполняется_ от имени его вызвавшего.
Если владелец процедуры и владелец объекта, к оторму обращается процедура одтин и тот же, то никакие дополнительные права ему на этот объект не нужны. Называется этот механизм ownership chain
26 окт 04, 16:08    [1062099]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Sergey Sergeev
Здравствуйте, скажите пожалуйста, можно в MSSQL сделать permission на вставку записи в таблицу только для хранимой процедуры, а не для пользователя?


для этого

1. Не надо раздавать разрешения на таблицу.
2. Владелец хп и таблицы должен быть один и тот же.
3. В хп не должно быть динамического SQL.
4. Пользователю надо выдать разрешение на запуск хп.
26 окт 04, 16:15    [1062140]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
az
Member

Откуда:
Сообщений: 28
pkarklin

3. В хп не должно быть динамического SQL.


а где про это написано... полтора дня убил, пока въехал в чем дело!!!

Есть возможность обойти это ограничение?
17 мар 05, 19:17    [1395795]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
az
pkarklin

3. В хп не должно быть динамического SQL.


а где про это написано... полтора дня убил, пока въехал в чем дело!!!
Прояснить это можно прочитав в статье BOL - EXECUTE раздел Permissions
18 мар 05, 06:46    [1396243]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли разрешить вставку записей не для пользователя, а только для хранимой процедуры?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31616
az
Есть возможность обойти это ограничение?

Нет.
18 мар 05, 11:21    [1396923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить