Добрый день!
Пожалуйста, ткните пальцем, где именно я ошибаюсь?
Делаю так:
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]
получаю результат
Т.е. под "sa" новое поле доступно, а под privuser - нет.
Не могу понять - почему. Я же явно даю
GRANT UPDATE,SELECT ON dbo.TASKRSRC (is_finished) to [privuser]
Пожалуйста, ткните пальцем, где именно я ошибаюсь?
Делаю так:
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]