Разрешение EXECUTE запрещено пользователю -определяемые типы таблиц?

У меня есть вопрос о типах таблиц, определяемых пользователем в SQL Server 2008.

Для необходимости одного из приложений ASP.NET мы определили наши собственные типы таблиц в SQL Server 2008, чтобы использовать их в качестве параметров в хранимых процедурах (при выполнении команды sql в приложении ASP.NET мы передаем объект DataTable в качестве параметра для хранимой процедуры см. здесь пример )

Проблема в это ч ru мы запускаем команду Sql (выполнение хранимой процедуры) из ASP.NET, получаем ошибку:

В разрешении EXECUTE было отказано для объекта 'ourTableType', база данных 'ourDatabase', схема 'ourSchema'.

Почему это так? Зачем нам нужно устанавливать разрешения для пользовательских типов таблиц? Почему недостаточно иметь набор разрешений только для хранимой процедуры, которая его использует? И если мы должны установить его, несмотря ни на что, почему нет типа разрешения EXECUTE для установки в окне свойств вообще (я вижу только Control , Ссылки , Take Ownership , View Definition )?

Я также не понимаю, что установка разрешения на Control в окне свойств решает проблему, и хранимая процедура выполняется без проблем.

82
задан Janez 29 July 2011 в 08:09
поделиться