加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

t-sql创建用户并授予对存储过程的许可执行

发布时间:2020-12-12 08:48:47 所属栏目:MsSql教程 来源:网络整理
导读:我有一个脚本创建一个数据库,存储过程,视图,表udf.我想包括一个脚本来创建用户’user_1’并给数据库提供执行权限. 我尝试着为所有存储过程创建grant exec命令 declare @permission varchar(max)select @permission = COALESCE( @permission + '; ' + 'Grant E
我有一个脚本创建一个数据库,存储过程,视图,表udf.我想包括一个脚本来创建用户’user_1’并给数据库提供执行权限.

我尝试着为所有存储过程创建grant exec命令

declare @permission varchar(max)

select @permission = COALESCE(
    @permission + '; ' + 'Grant Execute on ' + name +  ' user_1','Grant Execute on ' + name +  ' user_1')
from sysobjects where xtype in ('P')

exec (@permission)

但是exec(@permission)不起作用.它给

incorrect syntax near ‘;’.

我该如何解决?

解决方法

创建登录:创建服务器级登录.然后…
创建用户:让登录帐户附加到您的数据库.然后…
授予执行到:授予对数据库中所有sp和函数的执行权限.如果您只想授予对特定sp的权限,请使用“Grant Execute ON abc To xyz”.
Create login abacadaba with password='ABVDe12341234';
Create user abacadaba for login abacadaba;
Grant Execute to abacadaba;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读