italiy555
Дата: 15.06.2011 13:30:54
Добрый день,
у меня в процедуре строка :
INSERT INTO #dir1 EXECUTE master.dbo.xp_dirtree @otkuda, 1,1
отрабатывает под админом, а под простым пользователем нет. Не ругается, просто остается пустая таблица и всё. Права на dbo.xp_dirtree группе в которую входит этот пользователь дали:
use [master]
GO
GRANT EXECUTE ON dbo.xp_dirtree TO [Домен\Группа]
GO
Подскажите пожалуйста, как то можно сделать чтобы была возможность запускать простым пользователем.
Гавриленко Сергей Алексеевич
Дата: 15.06.2011 13:56:22
Функция недокументирванная, так что ответить на ваш вопрос сложно будет.
Напишите сборку или ESP, делов на полдня.
italiy555
Дата: 15.06.2011 14:08:40
Гавриленко Сергей Алексеевич,
может есть какая то возможность запустить процедуру под пользователем у кот. есть права, пока не нашла как. что то типа EXECUTE AS login='adm'?
Гавриленко Сергей Алексеевич
Дата: 15.06.2011 14:09:55
italiy555 |
---|
Гавриленко Сергей Алексеевич,
может есть какая то возможность запустить процедуру под пользователем у кот. есть права, пока не нашла как. что то типа EXECUTE AS login='adm'? |
Есть execute as, да.
italiy555
Дата: 15.06.2011 14:29:56
Сергей Алексеевич,
не подскажете , в синтаксисе плаваю
invm
Дата: 15.06.2011 15:11:16
execute as login = 'All-powerful'
exec MyProc
revert
italiy555
Дата: 15.06.2011 15:28:40
invm,
ругается что нет такого пользователя(кот. у меня с админовскими правами).
invm
Дата: 15.06.2011 15:36:54
Ну если ругается, значит действительно нету.
Гавриленко Сергей Алексеевич
Дата: 15.06.2011 15:44:22
Вы код ваш покажите и точное сообщение об ошибке.
italiy555
Дата: 15.06.2011 15:45:46
invm, есть точно,
просто видимо как то синтаксис не тот, нада думать. Самое обидное что все остальные части программы используют xp_cmdshell, тоже под админом только отрабатывает, так что проблема глобальная.