Conceder permisos para un procedimiento almacenado

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

En este artículo se describe cómo conceder permisos para un procedimiento almacenado en SQL Server usando SQL Server Management Studio o Transact-SQL. Se pueden conceder permisos a un usuario, un rol de base de datos o un rol de aplicación existentes en la base de datos.

Limitaciones y restricciones

Permisos

El otorgante del permiso (o la entidad de seguridad especificada con la opción AS) debe tener el permiso con GRANT OPTION, o un permiso superior que implique el permiso que se va a conceder. Requiere el permiso ALTER en el esquema al que pertenece el procedimiento o el permiso CONTROL en el procedimiento. Para obtener más información, vea GRANT (permisos de objeto de Transact-SQL).

Usar SQL Server Management Studio

Para conceder permisos para un procedimiento almacenado

  1. En el Explorador de objetos, conéctese a una instancia de Motor de base de datos y expándala.

  2. Expanda Bases de datos, expanda la base de datos a la que pertenece el procedimiento y, a continuación, expanda Programación.

  3. Expanda Procedimientos almacenados, haga clic con el botón derecho en el procedimiento en el que quiera conceder permisos y, luego, seleccione Propiedades.

  4. En Propiedades del procedimiento almacenado, seleccione la página Permisos .

  5. Para conceder permisos a un usuario, un rol de base de datos o un rol de aplicación, seleccione Buscar.

  6. En Seleccionar usuarios o roles, seleccione Tipos de objeto para agregar o borrar los usuarios y los roles que quiera.

  7. Seleccione Examinar para mostrar la lista de usuarios o de roles. Seleccione los usuarios o los roles a los que deben concederse los permisos.

  8. En la cuadrícula Permisos explícitos , seleccione los permisos que desea conceder al rol o al usuario especificados. Para obtener una descripción de los permisos, vea Permisos (Motor de base de datos).

Al seleccionar Conceder , se indica que se concederá el permiso especificado al receptor. Al seleccionar Grant With , se indica que el receptor también podrá conceder el permiso especificado a otras entidades de seguridad.

Uso de Transact-SQL

Para conceder permisos para un procedimiento almacenado

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. En este ejemplo se concede el permiso EXECUTE para el procedimiento almacenado HumanResources.uspUpdateEmployeeHireInfo a un rol de aplicación denominado Recruiting11.

USE AdventureWorks2022;   
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO  

Para conceder permisos en todos los procedimientos almacenados de un esquema

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. En este ejemplo se concede el permiso EXECUTE en todos los procedimientos almacenados que existen, o existirán, en el esquema HumanResources, a un rol de aplicación denominado Recruiting11.

USE AdventureWorks2022;   
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;  
GO  

Pasos siguientes