当前位置: 首页 > 面试题库 >

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

羊舌赞
2023-03-14
问题内容

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

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

我该如何解决?


问题答案:

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

Create login abacadaba with password='ABVDe12341234';
Create user abacadaba for login abacadaba;
Grant Execute to abacadaba;


 类似资料:
  • 授予Snowflake中所有存储过程的执行权限。 我想我需要添加执行权限,但我不知道在雪花中需要在哪里配置存储过程权限。 有人想给存储过程/表权限吗?

  • 问题内容: 我在执行以下操作的应用程序时遇到问题: PL / SQL包“ A”包含应用程序的所有功能/过程 “ A”归“ USER_A”所有 “ A”在Oracle中创建用户帐户,并在这些用户下创建表 ‘A’还必须能够对用户表进行TRUNCATE / INSERT 注意-所有创建的表都位于安全性较低的表空间内,我们将其称为“ MY_TS”。尽管此程序包在每个新用户的架构中创建用户和表,但“ A”无

  • 主要内容:示例Transact SQL 中的存储过程用于一次又一次地节省编写代码的时间。它通过将过程存储在数据库中并通过传递参数来获得所需的输出来实现这一点。 语法: 下面是存储过程创建的语法 - 参数可选:当我们创建一个过程时,一个或多个参数被传递到过程中。存储过程中有3种类型的参数: IN - 过程可以引用参数。该过程将覆盖参数的值。 OUT- 过程不能引用参数,但过程会覆盖参数值。 IN OUT- 参数被

  • 本文向大家介绍mysql创建用户并赋予用户权限详细操作教程,包括了mysql创建用户并赋予用户权限详细操作教程的使用技巧和注意事项,需要的朋友参考一下 用户管理 新建用户 语法 示例 username:将创建的用户名 localhost:指定用户那些主机上可以登录,可登录的IP地址,网段,主机名,如果是本机可以用localhost,如果想让用户可以任意运程登录,可以使用通配符%。 password

  • 问题内容: 我遇到了一个问题,其中在SQL Server 2005中授予对特定存储过程的EXECUTE权限不起作用。一些测试人员弄乱了权限- 并发现,如果他们还对存储过程授予了CONTROL权限-则运行正常。现在,他们确信授予CONTROL权限是必经之路。 我知道这不是真的-实际上,我认为真正的问题是用户对存储过程所依据的表没有选择/插入/更新/删除权限。问题是,我似乎无法在网上找到任何可以证明这

  • 问题内容: 我在注册后使用以下方法进行程序化登录 用户已通过身份验证,但始终具有ROLE_ANONYMOUS我不知道为什么?有任何想法吗 ? 问题答案: 这种现象看起来很奇怪。Javi建议手动将安全性上下文持久化到会话中,但是应该由Spring Security的自动完成。 一个可能的原因,我可以想像是在你的登记处理的页面。 禁用指定URL的所有安全过滤器。如你所见,它可能会干扰Spring Se