sql >> Databáze >  >> RDS >> Sqlserver

Uložená procedura a oprávnění – stačí EXECUTE?

Oprávnění u tabulek se nekontrolují (včetně DENY), pokud tabulky a proc mají stejného vlastníka. Mohou být také v různých schématech, pokud mají schémata stejného vlastníka.

Viz Zřetězení vlastnictví na MSDN

Upravit z komentáře ze smazané odpovědi.

Kontextem je vždy aktuální přihlášení, pokud není EXECUTE AS jak bylo použito:nekontrolují se pouze oprávnění DML pro odkazovaný objekt. Vyzkoušejte OBJECT_ID(referencedtable) v uloženém procesu, kde nejsou přiřazena žádná práva k referenční tabulce. Dává NULL. Pokud by to provedl vlastník uloženého procesu, pak by to poskytlo hodnotu, protože vlastník má práva na referenční tabulku



  1. Vrátit všechny skupiny souborů pro aktuální databázi na serveru SQL Server

  2. Jak zobrazit chyby pro můj dotaz MySQLi?

  3. Jak přejmenovat klíč JSON v SQL Server (T-SQL)

  4. Ladění výkonu PL/SQL pro dotazy typu LIKE '%...%' se zástupnými znaky