Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy uprawnienie CONTROL powinno być nadane procedurze przechowywanej w programie SQL Server 2005?

Jeśli procedura składowana została utworzona przy użyciu opcji EXECUTE AS CALLER (co moim zdaniem jest domyślne), to osoba wywołująca musi mieć wszystkie uprawnienia niezbędne do wykonywania wszystkich czynności wykonywanych przez procedurę składowaną oprócz opcji EXECUTE w procedurze.

Z dokumentacji SQL Server dla EXECUTE AS:

Należy zauważyć, że ze względu na sposób, w jaki SQL Server przetwarza kontrole uprawnień przy użyciu łańcuchów własności, nie zawsze jest to całkowicie prawdziwe i domyślam się, że przyznanie KONTROLI w procedurze (która nadaje status własności stypendyście) powoduje, że te kontrole uprawnień są ominięte.

Jeśli utworzysz procedurę z EXECUTE AS OWNER, nie powinieneś potrzebować nadawać żadnych uprawnień poza EXECUTE w procedurze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS 2008 - Pobierz aktualną datę w zmiennych

  2. Import funkcji EF nie rozpoznaje kolumn zwróconych przez StoredProc

  3. Czy mogę ustawić domyślny schemat dla procedury składowanej?

  4. Jak wyłączyć wszystkie ograniczenia wyboru i klucza obcego dla tabeli w programie SQL Server (przykłady T-SQL)

  5. SQL Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli „Tabela”, gdy IDENTITY_INSERT jest ustawione na OFF