Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Zartex Member Откуда: Сообщений: 2 |
Существует база данных и к ней есть пользователь. У него есть разрешения на столбцы таблицы. Если написать select для всех столбцов, то появляется ошибка: Сообщение 230, уровень 14, состояние 1, строка 1 Запрещено разрешение "SELECT" на столбец и т.д. Как правильно написать запрос, чтобы пропустить столбцы, на которые нет доступа? Работаю с БД недавно, поэтому не ругайте сильно. |
2 дек 15, 00:59 [18500487] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
Кеп сообщает: написать select только для тех полей, на которые есть разрешения. |
2 дек 15, 01:06 [18500495] Ответить | Цитировать Сообщить модератору |
Zartex Member Откуда: Сообщений: 2 |
Если существует возможность добавлять поля и изменять права к ним из внешнего приложения, то так не пойдет. Нужно как-то анализировать права. |
2 дек 15, 01:07 [18500499] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
|
||
2 дек 15, 01:17 [18500508] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
select * from fn_my_permissions('TableName', 'OBJECT') P WHERE permission_name = 'SELECT' |
||
2 дек 15, 03:57 [18500586] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
|
||
2 дек 15, 12:05 [18502020] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
Zartex, это как-то сурово, напишите инлайн функции или представления для доступа, пусть они разруливают права. Пропустить Вы не сможете в любом случае, но заполнить мусором - запросто. |
2 дек 15, 14:56 [18503325] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |