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

Откуда: Kyiv
Сообщений: 456
Добрый день!
Пожалуйста, ткните пальцем, где именно я ошибаюсь?
Делаю так:

IF NOT EXISTS(SELECT * FROM sys.columns
WHERE Name = N'is_finished' AND OBJECT_ID = OBJECT_ID(N'dbo.TASKRSRC'))
BEGIN
	ALTER TABLE dbo.TASKRSRC ADD 	is_finished int NULL
	GRANT UPDATE,SELECT  ON dbo.TASKRSRC (is_finished) to [privuser]
END[src]

GRANT UPDATE,SELECT ON dbo.TASKRSRC (is_finished) to [privuser]

select top 1 is_finished from TASKRSRC
if @@ERROR=0 print 'OK' else print 'ERROR!'
execute as user = 'privuser'
select top 1 is_finished from TASKRSRC
revert

[/SRC]
получаю результат

(строк обработано: 1)
OK
Сообщение 207, уровень 16, состояние 1, строка 16
Недопустимое имя столбца "is_finished".


Т.е. под "sa" новое поле доступно, а под privuser - нет.
Не могу понять - почему. Я же явно даю
GRANT UPDATE,SELECT ON dbo.TASKRSRC (is_finished) to [privuser]
14 ноя 16, 14:24    [19891373]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к полю таблицы отсутствует после GRANT SELECT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Romka-Fes,

автор
SELECT * FROM sys.objects WHERE object_Id = object_Id('TASKRSRC')
14 ноя 16, 14:32    [19891423]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к полю таблицы отсутствует после GRANT SELECT  [new]
invm
Member

Откуда: Москва
Сообщений: 9397
Romka-Fes
Пожалуйста, ткните пальцем, где именно я ошибаюсь?
IF NOT EXISTS(SELECT * FROM sys.columns
WHERE Name = N'is_finished' AND OBJECT_ID = OBJECT_ID(N'dbo.TASKRSRC'))
BEGIN
	ALTER TABLE dbo.TASKRSRC ADD 	is_finished int NULL
	exec('GRANT UPDATE,SELECT  ON dbo.TASKRSRC (is_finished) to [privuser]')
END
14 ноя 16, 14:34    [19891435]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к полю таблицы отсутствует после GRANT SELECT  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
точнее так :)
SELECT * FROM sys.objects WHERE Name ='TASKRSRC'
14 ноя 16, 14:35    [19891436]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к полю таблицы отсутствует после GRANT SELECT  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 456
TaPaK
точнее так :)
SELECT * FROM sys.objects WHERE Name ='TASKRSRC'

Вот ёлки.. :)
USER_TABLE
VIEW
Есть ещё и вьюха такая в схеме пользователя....
вопрос снят. всем спасибо!
14 ноя 16, 14:50    [19891532]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить