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

Откуда: г. Хабаровск
Сообщений: 398
Привет, Народ!
если выполнить sp_helprotects то права будут описаны в одном столбце типа:
Object  User Action

------------------------

Object1 User1 Select
Object1 User1 Insert
Object1 User1 Update и т.д.

а мне бы хотелось
Object  Insert Update Select

------------------------------

Object1 True True True
Object2 True True True

Помогите, если кто делал.
А нужно это все для того, чтобы назначить права из приложения. В большинстве случаев необходимо наличие Select'a на все представления и Exec'a на ХП. А из ИМ нет возможности одним движением дать пользователю Select на все представления (или я ошибаюсь). Кроме того программа в стадии разработки, поэтому возможно как добавление/изменение объектов БД, так и ошибки в логике приложения, т.е. понадобится Select непосредственно на саму таблицу до устранения бага. Если че непонятно - пишите.
Miktor
25 дек 03, 03:06    [473157]     Ответить | Цитировать Сообщить модератору
 Re: Как получить список объектов и прав  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
автор
а мне бы хотелось
Object Insert Update Select
------------------------------
Object1 True True True
Object2 True True True

Элементарно. Создаешь временную таблицу и INSERT в неё EXEC sp_helprotect... Далее запрос со связываением этой таблицы с подзапросами из самой себя.
25 дек 03, 06:54    [473196]     Ответить | Цитировать Сообщить модератору
 Re: Как получить список объектов и прав  [new]
Miktor
Member

Откуда: г. Хабаровск
Сообщений: 398
tpg
Далее запрос со связываением этой таблицы с подзапросами из
самой себя.

А мона для слабоумных поподробней?
25 дек 03, 07:03    [473202]     Ответить | Цитировать Сообщить модератору
 Re: Как получить список объектов и прав  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Примерно так
select t.Object,

t1.Action as [Insert],
.
.
.
from #t t left outer join
(select Object, Action from #t where Action = 'Insert') t1 on t.Object = t1.Object left outer join
.
.
.
25 дек 03, 07:19    [473211]     Ответить | Цитировать Сообщить модератору
 Re: Как получить список объектов и прав  [new]
Miktor
Member

Откуда: г. Хабаровск
Сообщений: 398
Огромный сенькс! Все работает!
25 дек 03, 10:27    [473380]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить