Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / двойной impesonate, что может быть? / 3 сообщений из 3, страница 1 из 1
09.07.2019, 15:00
    #39835500
Egor_M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
двойной impesonate, что может быть?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE [dbo].[test]
WITH EXECUTE AS '_test'
AS 
BEGIN
	print SUSER_NAME()
	execute ('select 1') as login='_test'
END

go

exec test
go


Выводит
Код: sql
1.
2.
3.
_test
Msg 15406, Level 16, State 1, Procedure test, Line 6
Cannot execute as the server principal because the principal "_test" does not exist, this type of principal cannot be impersonated, or you do not have permission.


Пользователь БД _test привязан к логину _test.
Куда копать?
Если просто под пользователем _test запустить скрипт
Код: sql
1.
execute ('select 1') as login='_test'

, то все отрабатывает. А вот при двойной имперсонализации работать не хочет. Куда копать?
Пример вырожденный. В реальности там разные пользователи. Но не работает даже с одним и тем же. Больее того, не работает даже если процедуру из под _test и запускать.
...
Рейтинг: 0 / 0
09.07.2019, 15:24
    #39835507
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
двойной impesonate, что может быть?
Egor_M,

Имхо _test право имперсонализации
...
Рейтинг: 0 / 0
09.07.2019, 18:45
    #39835647
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
двойной impesonate, что может быть?
Egor_M,

В таком виде не взлетит. Изучайте до полного понимания - http://www.sommarskog.se/grantperm.html
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / двойной impesonate, что может быть? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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