Could not find stored procedure в MSSQL Server - для нового пользователя

14:11:2010 Рі.

Рассматривается ошибка Could not find stored procedure в MSSQL Server.

Столкнулся с ошибкой при работе с хранимыми процедурами в MSSQL Server. Потратил минут 20 на элементарную ошибку из-за которой выскакивало ошибка "Could not find stored procedure".  

Суть:Есть клиентское приложение, которое соединяется с БД для выполнения определенных действий. Для обеспечения безопасности создается пользователь в базе данных MSSQL, у которого права полностью ограничены за исключением выполнения ряда хранимых поцедур.

При выполнении вызова хранимой процедуры из программы выскакивает исключительная ситуация Could not find stored procedure.

Изменение прав, помещение пользователя в группы не помогает.

Все оказалось проще - забыл явно указать пользователя, к которому относится хранимая процедура. 
К примеру, хранимую процедуру создавал пользователь ХХХ (админ), а воспользоваться должен YYY (пользователь с ограниченными правами).

1) Даем пользователю YYY права на исполнение хранимой процедуры. Можно либо через MSSQL Management Studio или через прямой SQL-запрос:

GRANT EXECUTE ON Procedure_Name TO YYY

2) Чтобы не получить сообщение Could not find stored procedure просто указываем полное имя хранимой процедуры:

EXEC [XXX].[Procedure_Name]

  Все работает. Желаю никому не наступать на такие грабли :) 

 

Добавить комментарий



Обновить

« Публикация (publish) ASP.NET MVC v2 проекта на хостинг (shared hosting)   Получить авторизированного пользователя ASP.NET Membership API »
← Раньше

Фотоальбом

fotic.jpg

Облако Тегов