授予对存储过程的权限

来源:互联网 发布:回收站删除恢复软件 编辑:程序博客网 时间:2024/05/16 17:44

授予对存储过程的权限
1.在对象资源管理器中,连接到某个 数据库引擎 实例,再展开该实例。

2.依次展开“数据库”、存储过程所属的数据库以及“可编程性”。

3.展开“存储过程”,右键单击要针对其授予权限的过程,再单击“属性”。4.在“存储过程属性”中,选择“权限”页。

5.若要为用户、数据库角色或应用程序角色授予权限,请单击“添加”。

6.在“选择用户或角色”中,单击“对象类型”以添加或清除所需的用户和角色。

7.在“显式权限”网格中,选择要为指定的用户或角色授予的权限。有关权限的说明,请参阅权限(数据库引擎)。

选择“授予”指示要为被授权者授予指定的权限。选择“具有授予权限”指示被授权者还可以将指定权限授予其他主体。

 

 

 

 

EXECUTE AS 子句 (Transact-SQL)
在 SQL Server 中,可以定义以下用户定义模块的执行上下文:函数(内联表值函数除外)、过程、队列和触发器。

通过指定执行模块的上下文,可以控制 数据库引擎使用哪一个用户帐户来验证对模块引用的对象的权限。这有助于人们更灵活、有力地管理用户定义的模块及其所引用对象所形成的对象链中的权限。必须而且只需授予用户对模块自身的权限,而无需授予用户对被引用对象的显式权限。只有运行模块的用户必须对模块访问的对象拥有权限。
USE Sales;
GO
CREATE PROCEDURE dbo.usp_Demo
WITH EXECUTE AS 'CompanyDomain/SqlUser1'
AS
SELECT user_name();
GO