在SQL Server MNGT Studio 2012中,我们有一个数据库,我们只想授予特定用户只读访问权限。灰色'编辑前200行'SSMS
所以我(作为一个管理员),登录到服务器..为了讨论各种情形,数据库名称为SQLSERVER01
然后登录后我看到Databases
,Security
,Server Objects
,Replication
,Management
和SQL Server Agent
。我进入Security
选项卡并转到Logins
。我们想给予只读权限的用户已经有了一个登录名。所以我双击他们的登录。我去User Mapping
。找到我想给他们的只读访问权限的数据库。我点击数据库名称旁边的复选框,在下面我给用户db_datareader
和public
。
因此,我打电话给用户,他们能够看到数据库中的表,但是如果他们要右键单击表名,他们仍然可以看到Edit Top 200 Rows
这个选项,然后单击它并请参阅该表格的编辑gui。现在我没有测试输入数据,看看他们是否可以真正编辑或添加数据,因为这太冒险了。
所以我的问题是,我给这个用户正确的访问?如果是这样,我该如何选择“编辑排行200行”?如果不是,我需要做什么?
任何帮助表示赞赏。
有服务器角色和数据库角色。 db_datareader是一个数据库角色。你确定他们没有任何服务器角色(如sysadmin)可能会给他们额外的权限吗?我不知道该菜单的具体行为,但不能仅仅测试一个不同的数据库? –
@snow_FFFFFF我检查了服务器角色。此用户不在其中,包括系统管理员。 –