оунер — это тот, кто обладает правами на конкретный объект (кажется), т.е. на эту процедуру. В цепочке вызова функций у него может не хватить прав на какую-нибудь фукццию/процедуру/объект
Это в случае если нарушена цепочка наследования прав, если вызываемая функция/процедура находится в другой схеме у которой владелец не dbo, а так мне кажется, ну я не утверждаю, овнера должно вполне хватить
Я к чему это всё, ситуация, пользователь пытается проальтерить процедуру, которая находится в схеме torg, у схемы овнер dbo, с директивой with execute as 'dbo', у пользователя есть права альтер на схему torg. При попытке проальтерить процедуру получает сообщение - см. скрин
Подобного рода конструкции используются в некоторых случаях чтобы дать доступ к данным или действиям, не давая доступа к таблицам/представлениям и процедурам, особенно системным
Я не спорю, потому как не уверен, но если указывается 'dbo' то доступ автоматом должен распространяться на всё, ну ещё раз пишу, я не уверен, возможно есть какие-томеханизмы