У меня вопрос о типах таблиц, определяемых пользователем в SQL Server 2008.
Для необходимости одного из приложений ASP.NET мы определили наши собственные типы таблиц в SQL Server 2008, чтобы использовать их в качестве параметров в хранимых процедурах (при выполнении команды sql в приложении ASP.NET мы передаем объект DataTable в качестве параметра для хранимой процедуры. см. здесь пример )
Проблема в том, что когда мы запускаем команду Sql (выполнение хранимой процедуры) из ASP.NET, мы получаем ошибку:
В разрешении EXECUTE было отказано в объекте "ourTableType", базе данных "ourDatabase", схеме "ourSchema".
Почему это так? Зачем нам нужно устанавливать разрешения для пользовательских типов таблиц? Почему недостаточно иметь набор разрешений только для хранимой процедуры, которая его использует? И если у нас нет , чтобы установить его независимо от того, почему нет EXECUTE
типа разрешения на набор в окне свойств вообще (я могу видеть только Control
, References
, Take Ownership
, View Definition
)?
Я также не понимаю, что установка разрешения Control
в окне свойств решает проблему, и хранимая процедура выполняется без проблем.