sql >> Database >  >> RDS >> Sqlserver

Moet er CONTROL-toestemming worden gegeven voor een opgeslagen procedure in SQL Server 2005?

Als de opgeslagen procedure is gemaakt met UITVOEREN ALS BELLER (wat volgens mij de standaardinstelling is), dan moet de beller alle benodigde machtigingen hebben om te doen wat de opgeslagen procedure ook doet, naast UITVOEREN voor de procedure.

Uit de SQL Server-documentatie voor EXECUTE AS:

Merk op dat vanwege de manier waarop SQL Server toestemmingscontroles verwerkt met behulp van eigendomsketens, dit niet altijd strikt waar is, en ik vermoed dat het verlenen van CONTROL over de procedure (die de eigendomsstatus aan de gerechtigde verleent) ervoor zorgt dat deze toestemmingscontroles worden omzeild.

Als u de procedure maakt met UITVOEREN ALS EIGENAAR, hoeft u geen machtigingen te verlenen buiten UITVOEREN voor de procedure.



  1. Hoe kunt u in pg_restore een postgres-verbindingsreeks gebruiken om de host/database/gebruikersnaam/wachtwoord op te geven?

  2. Query die een hiërarchische lijst van typen triggergebeurtenissen in SQL Server retourneert

  3. DATA DIRECTORY MySQL

  4. Spring Boot:Jdbc javax.net.ssl.SSLException:inkomend sluiten voordat close_notify van peer wordt ontvangen