• SQL Server 设置新用户只能查看并访问特定数据库


    解决方案

     

    1、先给不同的服务商创建不同的登录名(如下以一个服务商为例)



    2.将登录名加入到public服务器角色中



    3.将public服务器角色的属性——>安全对象中取消查看所有数据库的权限

    或者执行如下SQL:

    REVOKE VIEW ANY DATABASE TO [public]

     

    4.将待授权的数据库的dbowner指派给该用户

      执行sql

    USE ZYLTEST
    go
    EXEC dbo.sp_changedbowner N'zyl'

      效果图

      注意:此处的设置不能手动取消,会有错误提示:

      解决办法,执行sql修改该数据库的所有者

    USE ZYLTEST
    go
    EXEC dbo.sp_changedbowner N'sa'

      效果图

     

    5、此时用登录名'zyl'登录sql server,便只能看到指定的数据库了

     #TIPS

      上述方案实现的是-“设置登录用户只能看到和操作特定数据库”,如果你只想实现-“设置登录用户只能操作特定数据库,但能看到所有数据库,只是有的数据库不能操作” 

      需要对上述方案稍作修改,具体步骤:

      1、取消上述方案的第三步;

      2、将上述方案的第四步修改为如下操作:

      3、效果图

      可以看到所有的数据库,但是无法查看未授权的数据内容,如图提示

    原文链接:https://www.cnblogs.com/willingtolove/p/9122738.html

    该努力的时候努力 该休息的时候休息
  • 相关阅读:
    transition
    Java自增陷阱
    不同编码格式中,字节和字符的关系
    表单重复提交
    source folder和package的区别
    @test 测试案例不能添加参数
    http协议content-type
    jdbc的缺点和mybatis的优点
    ==和equals的区别
    spring IOC和AOP
  • 原文地址:https://www.cnblogs.com/zengzhaojin/p/13485457.html
Copyright © 2020-2023  润新知