Contexto de ejecución Contexto de ejecución
El contexto de ejecución está directamente relacionado con la conexión y el usuario de bases de datos asociado. La conexión de ejecución permite establecer la lista de posibles acciones y aquellas que no se pueden realizar. Esta lista se crea a partir de los permisos asignados a los usuarios directamente o a través de los roles.
En algunos casos puede ser necesario y deseable modificar el contexto de ejecución para aprovechar los permisos extendidos, pero solo en el ámbito de un script, procedimiento o función.
Asociada al contexto de ejecución, es necesario entender bien la noción de encadenamiento de propiedades en SQL Server.
Por ejemplo, el usuario Ángel recibe de María el permiso para usar (SELECT) una vista de María. La consulta SELECT de definición de la vista hace referencia a una tabla también de María. Ángel no tiene ningún permiso sobre esta tabla y podrá utilizar esta vista sin problemas, ya que los dos objetos (vista y tabla) tienen el mismo propietario.
Si la vista de María que utiliza Ángel accede a una tabla que no es propiedad de María, se comprueban los permisos asignados a Ángel para saber si este puede ejecutar la consulta.
EXECUTE AS EXECUTE AS
Con esta instrucción se puede solicitar la conexión a la base de datos usando una conexión diferente a la actual. Esta instrucción se puede ejecutar de manera autónoma...