Conceder permisos para un procedimiento almacenado
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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
- No se puede usar SQL Server Management Studio para conceder permisos para procedimientos del sistema o funciones del sistema. Use GRANT permisos de objeto (Transact-SQL) en su lugar.
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, consulte GRANT permisos de objeto.
Uso de SQL Server Management Studio
Para conceder permisos para un procedimiento almacenado
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos y, a continuación, expándala.
Expanda Bases de datos, expanda la base de datos a la que pertenece el procedimiento y, a continuación, expanda Programación.
Expanda Procedimientos almacenados, haga clic con el botón derecho en el procedimiento en el que quiera conceder permisos y, luego, seleccione Propiedades.
En Propiedades del procedimiento almacenado, seleccione la página Permisos .
Para conceder permisos a un usuario, un rol de base de datos o un rol de aplicación, seleccione Buscar.
En Seleccionar usuarios o roles, seleccione Tipos de objeto para agregar o borrar los usuarios y los roles que quiera.
Seleccione Examinar para mostrar la lista de usuarios o de roles. Seleccione los usuarios o los roles a los que deben concederse los permisos.
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
Conéctese con el Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
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 almacenadoHumanResources.uspUpdateEmployeeHireInfo
a un rol de aplicación denominadoRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Para conceder permisos en todos los procedimientos almacenados de un esquema
Conéctese con el Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
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 esquemaHumanResources
, a un rol de aplicación denominadoRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO