powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры внутри другой хранимой процедуры
2 сообщений из 2, страница 1 из 1
Вызов хранимой процедуры внутри другой хранимой процедуры
    #32063839
Виталий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Традиционным способам модификации информации (insert,update,delete) предпочитаю хранимые процедуры. В этом случае права на insert,update,delete отнимаются, выдаётся право на выполнение хранимой процедуры. Однако есть одно неудобство. Если некая хранимая процедура (назовём ее дочерней) вызывается в теле другой процедуры (родительской), то права надо прописывать для всех процедур, а не только для родительской. Мне представляется, что это не только неудобно, но и опасно. Как это обойти?
Спасибо.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры внутри другой хранимой процедуры
    #32063849
mishgan2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у этих процедур один владелец, то никаких дополнительных прав давать не нужно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create procedure p1 as
begin
  print  1 ;
end
go
create procedure p2 as
begin
  exec p1
end;
go
sp_addlogin 'uuu','uuu'
go
sp_grantdbaccess 'uuu','uuu'
go
grant execute on p2 to uuu
go

В результате, если зайти под юзером uuu, то можно спокойно выполнить процедуру p2.
Отсюда правило: желательно, чтобы все объекты в БД имели одного владельца. Лучше всего DBO.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры внутри другой хранимой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]