【问题标题】:How to give a user only select permission on a database如何仅授予用户对数据库的选择权限
【发布时间】:2010-11-24 14:32:24
【问题描述】:

我想在数据库上创建一个只有选择权限的新用户(只读访问) 我怎样才能做到这一点 ? 我正在使用 sql 2008

【问题讨论】:

  • 嗨 - 这是 ServerFault.com 设计的那种问题,因为它更多的是管理问题而不是编程问题。你在那里可能会有更好的运气(这个问题可能会从这里迁移到那里)。不过,欢迎使用 StackOverflow。 :)

标签: sql-server database permissions


【解决方案1】:

您可以将用户添加到数据库级角色db_datareader

db_datareader 固定数据库角色的成员可以对数据库中的任何表或视图运行 SELECT 语句。

请参阅在线书籍以供参考:

http://msdn.microsoft.com/en-us/library/ms189121%28SQL.90%29.aspx

您可以使用以下查询将数据库用户添加到数据库角色:

EXEC sp_addrolemember N'db_datareader', N'userName'

【讨论】:

  • 很棒的答案。 +1
【解决方案2】:

您可以使用 Create USer 创建用户

CREATE LOGIN sam
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks;
CREATE USER sam FOR LOGIN sam;
GO 

并授予(只读访问权限)您可以使用以下内容

GRANT SELECT TO sam

希望对您有所帮助。

【讨论】:

    【解决方案3】:

    对于具有 GUI 意识的人,您可以:

    • 在 Management Studio 中右键单击数据库。
    • 选择属性
    • 选择权限
    • 如果您的用户未出现在列表中,请选择“搜索”并输入他们的姓名
    • 在用户或角色列表中选择用户
    • 在下部窗口框架中,检查授予列下的选择权限

    【讨论】:

      【解决方案4】:
      create LOGIN guest WITH PASSWORD='guest@123', CHECK_POLICY = OFF;
      

      确定何时要执行以下操作

      DENY VIEW ANY DATABASE TO guest;
      
      ALTER AUTHORIZATION ON DATABASE::BiddingSystemDB TO guest
      

      选定的数据库应该是主数据库

      【讨论】:

        猜你喜欢
        • 2018-03-21
        • 2017-07-06
        • 2015-07-10
        • 1970-01-01
        • 2013-03-13
        • 2023-03-14
        • 1970-01-01
        • 2019-07-03
        • 2016-03-01
        相关资源
        最近更新 更多