小编典典

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

sql

我有一个脚本,可以创建数据库,存储的proc,视图,表,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)不起作用。它给

’;’附近的语法不正确。

我该如何解决?


阅读 216

收藏
2021-04-17

共1个答案

小编典典

创建登录名:创建服务器级别的登录名。然后…创建用户:让登录帐户附加到您的数据库。然后…将执行权限授予:向您的数据库中的所有sp和函数授予执行权限。如果您只想授予特定sps的权限,请使用“授予abc
TO xyz执行授权”。

Create login abacadaba with password='ABVDe12341234';
Create user abacadaba for login abacadaba;
Grant Execute to abacadaba;
2021-04-17