如何在数据库中为用户仅授予选择权限

37

我想在一个数据库中创建一个新用户,但该用户只具有选择权限(只读访问),我应该如何操作? 我正在使用 SQL 2008。

我该如何创建一个只有SELECT权限的新用户? 我正在使用SQL 2008。

1
嗨 - 这是ServerFault.com设计的问题类型,因为它更多是一个管理问题,而不是一个编程问题。你可能会在那里有更好的运气(并且这个问题可能会从这里迁移到那里)。欢迎来到StackOverflow。 :) - Amber
4个回答

55
你可以将用户添加到数据库级别的角色db_datareader中。
在db_datareader 固定数据库角色的成员可以针对数据库中的任何表或视图运行SELECT语句。
有关详细信息,请参见 Books Online: http://msdn.microsoft.com/en-us/library/ms189121%28SQL.90%29.aspx 您可以使用以下查询将数据库用户添加到数据库角色:
EXEC sp_addrolemember N'db_datareader', N'userName'

27

您可以使用Create User来创建用户

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

如果要授予Grant(只读访问权限),您可以使用以下方法

GRANT SELECT TO sam

希望这有所帮助。

20

对于注重GUI的人,您可以:

  • 在管理工具中右键单击数据库。
  • 选择属性。
  • 选择权限。
  • 如果您的用户在列表中没有显示出来,请选择搜索并输入他们的名称。
  • 在用户或角色列表中选择用户。
  • 在下窗格中,在授予权限列下选中选择权限。

-3
create LOGIN guest WITH PASSWORD='guest@123', CHECK_POLICY = OFF;

当你想要执行以下操作时,请确保

DENY VIEW ANY DATABASE TO guest;

ALTER AUTHORIZATION ON DATABASE::BiddingSystemDB TO guest

所选数据库应该是主数据库


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接