Mam pytanie dotyczące typów tabel zdefiniowanych przez użytkownika w programie SQL Server 2008.
Na potrzeby jednej z aplikacji ASP.NET zdefiniowaliśmy własne typy tabel na SQL Server 2008, aby używać ich jako parametrów w procedurach składowanych (wykonując polecenie sql w aplikacji ASP.NET przekazujemy obiekt DataTable jako parametr procedury składowanej zobacz tutaj przykład )
Problem polega na tym, że gdy uruchamiamy polecenie Sql (wykonaj procedurę składowaną) z ASP.NET, otrzymujemy błąd:
Odmowa uprawnienia EXECUTE do obiektu „ourTableType”, bazy danych „ourDatabase”, schematu „ourSchema”.
Dlaczego to jest takie? Dlaczego musimy ustawić uprawnienia do typów tabel zdefiniowanych przez użytkownika? Dlaczego nie wystarczy mieć uprawnienia ustawione tylko w procedurze składowanej, która go używa? A jeśli musimy ustawić go bez względu na to, dlaczego nie ma EXECUTE
typu uprawnienie do zestawu w oknie właściwości w ogóle (Widzę tylko Control
, References
, Take Ownership
, View Definition
)?
Nie rozumiem też, że ustawienie uprawnień Control
w oknie właściwości rozwiązuje problem, a procedura składowana działa bez problemów.