SQL Server 数据库用户权限设置 2020-03-28 数据库 暂无评论 2234 次阅读 SQL Server 2005数据库中,我们可以设置每个用户对应的权限,以提高数据库的安全性。这类用户权限设置的应用非常广泛。比如设置某个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限等等。其实这一设置过程是很简单的,接下来就让我们来一起学习吧。 一、操作步骤 1.首先进入数据库级别的【安全性】-【登录名】-【新建登录名】 ![sql-server-user-permission-01.jpg](https://blog.moper.net/usr/uploads/2020/03/403514423.jpg) (图1:新建登录名) 2.在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库。 ![sql-server-user-permission-02.jpg](https://blog.moper.net/usr/uploads/2020/03/1469976201.jpg) (图2:设置选项) 3.在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作 ![sql-server-user-permission-03.jpg](https://blog.moper.net/usr/uploads/2020/03/2567691249.jpg) (图3:选择对应数据库) 4.现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】 ![sql-server-user-permission-04.jpg](https://blog.moper.net/usr/uploads/2020/03/447742542.jpg) (图4:选择对应表) 5.在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】 ![sql-server-user-permission-05.jpg](https://blog.moper.net/usr/uploads/2020/03/3318001443.jpg) (图5:设置访问表的用户) 6.在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了 ![sql-server-user-permission-06.jpg](https://blog.moper.net/usr/uploads/2020/03/86960590.jpg) (图6:权限列表) 7.现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了 ![sql-server-user-permission-07.jpg](https://blog.moper.net/usr/uploads/2020/03/4220616568.jpg) (图7:效果) 二、注意事项 1.在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去TestLog数据库中是找不到TestUser。 ![sql-server-user-permission-08.jpg](https://blog.moper.net/usr/uploads/2020/03/2735315177.jpg) (图8:找不到TestUser用户) 2.在上面的第3步骤,设置完TestLog数据后,需要点击【确认】按钮,完成创建用户操作,如果这个时候去设置【安全对象】,是无法在【添加】-【特定对象】-【对象类型】-【登陆名】-【浏览】中找到刚刚新建的TestUser用户的。 3.其实在数据库级别的【安全性】创建的用户是属于全局的,当设置了某个数据库,比如TestLog之后,这个用户就会出现在这个数据库的【安全性】列表中。 如果删除TestLog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。 ![sql-server-user-permission-09.jpg](https://blog.moper.net/usr/uploads/2020/03/1416720653.jpg) (图9:删除TestUser用户) 4.在第6步的【显式权限】列表中,如果选择了【Control】这个选项,那么在【Select】中设置查询【列权限】就没有意义了,查询就不会受限制了。如果设置【列权限】,在正常情况下会显示下图的报错信息: ![sql-server-user-permission-10.jpg](https://blog.moper.net/usr/uploads/2020/03/2689317550.jpg) (图10:效果) 5.在TestLog数据库的【安全性】-【TestUser】-【属性】-【安全对象】-【添加】-【对象类型】这里有更多关于数据库级别的一些对象类型可以设置。 ![sql-server-user-permission-11.jpg](https://blog.moper.net/usr/uploads/2020/03/3567724593.jpg) (图11:其它对象类型) 标签: sqlserver2005, 用户权限 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。