• 怎么设置SQL数据库用户权限


    一、操作步骤

    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://zhidao.baidu.com/question/1702891267796183220.html

    立刻行动,坚持不懈,不断学习!
  • 相关阅读:
    【Linux相关】kvm部署配置
    【ceph相关】ceph常见问题处理
    [深圳]金蝶软件招聘多名网站架构师、规划师、开发工程师、策划师、设计师
    arcgis server10.2平台设置Directory权限
    记一次对接小程序时遇到的加密问题“Cannot find any provider supporting AES/CBC/PKCS7Padding”
    delphi 自定义控件调用动态库,静态网页测试
    asp.net(C#)接MYSQL8.0版本报错的处理方法
    django 2.2(含 drf)sqlite3 转成 mysql5.7 报错:return instance._state.fields_cache[cache_name] KeyError: 'article'
    给CListBox增加个性化的ToolTip
    Flash按钮
  • 原文地址:https://www.cnblogs.com/deng779256146/p/7683413.html
Copyright © 2020-2023  润新知