如何仅为用户授予对数据库的选择权限

时间:2009-09-01 10:29:36

标签: sql-server database permissions

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

4 个答案:

答案 0 :(得分:37)

您可以将用户添加到数据库级角色 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 :(得分:18)

对于有志同道之处的人,您可以:

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

答案 2 :(得分:16)

您可以使用“创建用户”来创建用户

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

和授予(只读访问权限),您可以使用以下

GRANT SELECT TO sam

希望有所帮助。

答案 3 :(得分:-1)

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

确定何时执行以下

DENY VIEW ANY DATABASE TO guest;

ALTER AUTHORIZATION ON DATABASE::BiddingSystemDB TO guest

选定的数据库应为Master