【问题标题】:How to grant Permission to all objects in a database in SQL Server to a database user through query如何通过查询将SQL Server中数据库中所有对象的权限授予数据库用户
【发布时间】:2016-05-05 08:49:05
【问题描述】:

我正在 SQL Server 中创建多个数据库用户。假设我在默认系统管理员之外创建了 2 个用户,如下所示。

  1. sa(系统管理员)
  2. 用户1
  3. 用户2

我希望 sa(系统管理员)授予 user1 的所有权限,例如创建表、视图等的权限。然后让 user1 将权限授予 user2。如果我使用 SQL Server GUI 执行此操作,我需要检查为每个用户授予的一长串权限。

我尝试了以下查询,但它只授予对单个表而不是数据库的权限。因此,如果我的数据库有 100 多个表,那么我将需要运行 100 多个这样的查询。因此,任何人都可以告诉我是否可以执行一个查询,让 sa 向特定数据库上的不同用户授予权限,而不仅仅是一个表。

GRANT SELECT,INSERT,UPDATE,DELETE  ON dbo.table1 TO user1;

【问题讨论】:

    标签: database sql-server-2008 permissions


    【解决方案1】:

    你可以使用这个查询来授予权限

    EXEC sp_addrolemember N'db_datawriter', N'username'
    

    这将为数据库中存在的每个表授予 WRITE 权限(INSERT、UPDATE、DELETE)。

    【讨论】:

    • 您好,我尝试了上面的查询,但没有授予任何权限。
    猜你喜欢
    • 2016-10-12
    • 2011-10-05
    • 1970-01-01
    • 2015-04-24
    • 2018-03-21
    • 2011-06-28
    • 2014-08-16
    相关资源
    最近更新 更多