小编Dan*_*Edw的帖子

如何授予单个存储过程的执行权限?

通常,当我创建存储过程时,我使用以下作为排序模板

Create procedure <procedurename>
<@param1 <type>, @param2 <type>, etc..> 
as begin

 <procedure>

end
Run Code Online (Sandbox Code Playgroud)

有没有办法在我使用时仅授予对该存储过程的执行权限?
比如像...

Grant execute [User_Execute] 
Run Code Online (Sandbox Code Playgroud)

...但仅针对此存储过程?

我见过一些其他类似的问题,但它们似乎都涉及所有存储过程,而不仅仅是一个,我也没有看到可以在create procedure脚本中指定权限的问题。甚至有关如何在没有 GUI 的情况下为特定存储过程设置权限的答案也将受到欢迎。

编辑 最重要的答案肯定为我指明了正确的方向,这基本上就是我正在寻找的,我没有考虑将我最终做的命令批处理,将命令与我的存储过程一起批处理。反正我觉得还挺好看的。

Create procedure <procedurename>
<@param1 <type>, @param2 <type>, etc..> 
as begin

<procedure>

end
GO
GRANT EXECUTE ON <procedurename> to <username>
GO
Run Code Online (Sandbox Code Playgroud)

sql-server

46
推荐指数
3
解决办法
25万
查看次数

标签 统计

sql-server ×1