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. En su lugar, use GRANT (permisos de objeto de Transact-SQL) .
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).
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
Pasos siguientes
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de