Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Доступ к полю таблицы отсутствует после GRANT SELECT

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

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]

Viewing all articles
Browse latest Browse all 7251