如何限制用户只能访问一个数据库

如何限制用户只能访问一个数据库,第1张

不要给除了public以外的任何服务器角色。针对需要访问的数据库授予需要的权限(在登录属性里的用户映射中设置)。

另外,只能看到特定的数据库无法实现。即使没有权限访问的数据库,在数据库管理工具中也是可以看到数据库名的。

1、打开——“开始”,选择——“所有程序”,找打“Microsoft SQL Server 2005”单击打开,然后选择——“SQL Server Management Studio Express”单击打开。

2、打开后,这里有两种选择方式,“Windows身份验证”和“SQL Server身份验证”。

3、选择"SQL Server身份验证"创建表,登录以后,选中数据库,右键单击,选中——“新建数据库”。

4、在对应项内输入数据库的名字,以后数据库物理文件存储的位置。

5、在——“数据库”下拉菜单中,选中你创建的数据库以后,右键单击——“新建表”。

6、在右侧的显示栏中,输入你数据库中所有的字段。完成后选中上方的表名,右键单击——“另存为”进行数据库的保存就可以了。

-- sqlserver:一、 *** 作步骤

1.

首先进入数据库级别的【安全性】-【登录名】-【新建登录名】

(图1:新建登录名)

2.

在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库。

(图2:设置选项)

3.

在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的 *** 作

(图3:选择对应数据库)

4.

现在我们就可以对testlog数据库中的user表进行权限的设置了,【表】-【

属性】

(图4:选择对应表)

5.

在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】

(图5:设置访问表的用户)

6.

在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了

(图6:权限列表)

7.

现在就使用testuser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了

(图7:效果)

二、注意事项

1.

在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去testlog数据库中是找不到testuser。

(图8:找不到testuser用户)

2.

在上面的第3步骤,设置完testlog数据后,需要点击【确认】按钮,完成创建用户 *** 作,如果这个时候去设置【安全对象】,是无法在【添加】-【特定对象】-【对象类型】-【登陆名】-【浏览】中找到刚刚新建的testuser用户的。

3.

其实在数据库级别的【安全性】创建的用户是属于全局的,当设置了某个数据库,比如testlog之后,这个用户就会出现在这个数据库的【安全性】列表中。

如果删除testlog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。

(图9:删除testuser用户)

4.

在第6步的【显式权限】列表中,如果选择了【control】这个选项,那么在【select】中设置查询【列权限】就没有意义了,查询就不会受限制了。如果设置【列权限】,在正常情况下会显示下图的报错信息:

(图10:效果)

5.

在testlog数据库的【安全性】-【testuser】-【属性】-【安全对象】-【添加】-【对象类型】这里有更多关于数据库级别的一些对象类型可以设置。

(图11:其它对象类型)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6738698.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存