Sql Server权限问题

时间:2009-06-12 01:54:41

标签: sql-server permissions

我有一个带有视图的数据库Mydatabase,MyView。

我希望任何属于Public角色成员的用户都能够从视图中进行选择。

我已经在MyView TO [Public]上完成了GRANT SELECT,在sql服务器上创建了一个名为Test的测试登录,并使其成为Public角色的成员,但仍然无法选择View。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

USE MyDB
GO
CREATE USER Test FROM LOGIN Test
GO
GRANT CONNECT TO Test
GO

登录“测试”需要在数据库中设置为“用户”。 默认情况下,所有用户都是数据库公共角色的成员。

See Principals in BOL

答案 1 :(得分:1)

如果要给每个人或公共连接访问数据库,请进入数据库属性,转到权限页面,将“guest”添加到“用户或角色”列表,然后选择它,并在下半部分,找到“连接”行,选择“授予”,将其调整,然后单击“确定”。这使得所有服务器登录都可以连接到该数据库。

答案 2 :(得分:0)

登录和用户性质不同。登录位于服务器级别,用户位于数据库级别。每个用户都有相应的登录信息。同时,并非每个登录都有相应的用户帐户。