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

Откуда:
Сообщений: 19
Здравствуйте.

Верно ли, что если ХП запускается с "with execute as", то её выполнение происходит на уровне пользователя этой Базы, и нет никакой возможности сделать в этой ХП SELECT к другой базе ("SET TRUSTWORTHY ON" не предлагать)
?

Ошибка: ...is not able to access the database... under the current security context
27 авг 19, 13:32    [21958277]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
invm
Member

Откуда: Москва
Сообщений: 9344
AndreyVP
"SET TRUSTWORTHY ON" не предлагать
Выбирайте подходящее - http://www.sommarskog.se/grantperm.html
27 авг 19, 13:37    [21958283]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
AndreyVP
Member

Откуда:
Сообщений: 19
Уточню свой вопрос:

ХП запускается с "with execute as".
Эта ХП меняет некоторые данные в Таблице1 в своей базе.
В Таблице1 есть триггер, которые делает SELECT к другой базе.

Можно ли запуская ХП с "with execute as", сделать так, чтобы триггер на изменяемой таблице запустился от первоначального пользователя (того, кто запустил ХП) ?
27 авг 19, 13:45    [21958292]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
AndreyVP
Member

Откуда:
Сообщений: 19
Нашёл решение, которое работает!
https://blog.sqlxdetails.com/procedure-with-execute-as-login/
27 авг 19, 15:15    [21958387]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7752
AndreyVP,

ну так про REVERT в справке написано, чего искать-то.
27 авг 19, 15:22    [21958394]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
AndreyVP
Member

Откуда:
Сообщений: 19
Владислав Колосов, решение в том как сделать Procedure with Execute as LOGIN !
27 авг 19, 15:26    [21958398]     Ответить | Цитировать Сообщить модератору
 Re: with execute as не работает с другой базой  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
AndreyVP
Владислав Колосов, решение в том как сделать Procedure with Execute as LOGIN !

а никак не сделать.
а решение с сертификатами invm выше предложил.
но чукча не читатель
27 авг 19, 15:42    [21958419]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить