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

Откуда:
Сообщений: 14
Здравствуйте. Помогите разобраться с EXECUTE AS. Мне надо просматривать представление sys.dm_exec_connections, заходя под логином polz1.
Я создал базу MyTest и создал логины adm и polz1. В базе MyTest тоже есть пользователи adm и polz1.
У логина adm поставил серверные роли:
-dbcreator
-sysadmin.
Из под этого логина создавал базу и другого пользователя. Представление sys.dm_exec_connections просматривается.
У логина polz1 поставил Сопоставление пользователей:
бд - MyTest (членство в роли: db_datareader, db_datawriter, public)
пользователь - polz1
схема - dbo

Написал запрос:

execute as login='adm'
select *
from sys.dm_exec_connections
revert

Но в результате выходит ошибка:

Сообщение 15406, уровень 16, состояние 1, строка 1
Не удалось выполнить в качестве сервера-участника, поскольку участник "adm" не существует, этот тип участника не может проходить олицетворение, или отсутствует разрешение.

Объясните, пожалуйста, о чем здесь говорится, и что нужно, чтобы запрос заработал?
18 май 11, 21:04    [10674373]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с логинами и пользователями в EXECUTE AS  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
чтобы запрос заработал?


Чтобы запрос заработал, надо перестать городить городушки и дать необходимым логинам права VIEW SERVER STATE.

Сообщение было отредактировано: 18 май 11, 21:29
18 май 11, 21:22    [10674415]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с логинами и пользователями в EXECUTE AS  [new]
Сергей089
Member

Откуда:
Сообщений: 14
Ура!!! Метод ТЫКА рулит! Сейчас напишу как сделал.
18 май 11, 21:54    [10674490]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с логинами и пользователями в EXECUTE AS  [new]
Сергей089
Member

Откуда:
Сообщений: 14
Нашел статейку . Из ее текста получается, что пользователю polz1 нужно предоставить право действовать от имени пользователя adm. Когда я предоставил ему такое право, то запрос начал давать другую ошибку, в которой говорилось, что пользователь adm не имеет разрешения просматривать представление sys.dm_exec_connections. Я попробовал дать adm такое разрешение, но не получилось. Чтобы смотреть sys.dm_exec_connections, пользователь должен быть в базе master.
Тогда я сделал по другому:
1)
Дал разрешение логину polz1 действовать от имени логина adm.
2)
изменил запрос с
execute as user='adm'
select *
from sys.dm_exec_connections
revert
на
execute as login='adm'
select *
from sys.dm_exec_connections
revert
И запрос заработал :)
18 май 11, 22:10    [10674537]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с логинами и пользователями в EXECUTE AS  [new]
Сергей089
Member

Откуда:
Сообщений: 14
Что-то адрес не написался.
http://www.askit.ru/custom/sql2005_admin/m5/05_05_execute_as.htm
18 май 11, 22:11    [10674548]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить