Conceder permisos para un procedimiento almacenado

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

En este artículo se describe cómo conceder permisos en un procedimiento almacenado mediante 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

Permisos

El concedente (o el principal especificado con la opción AS) debe tener bien el propio permiso con GRANT OPTION, o bien 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 (Transact-SQL).

Uso de SQL Server Management Studio

Conceder permisos en un procedimiento almacenado

  1. En el Explorador de objetos, conéctese a una instancia del motor de base de datos y expanda esa instancia.

  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 beneficiario también podrá conceder el permiso especificado a otros principales.

Uso de Transact-SQL

Conceder permisos sobre un procedimiento almacenado

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

  2. En la barra de herramientas, 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

Concesión de 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