mssql sqlserver 指定用户访问数据库服务器只能看见自己数据库的方法分享


摘要:
下文分享通过脚本变更sql账户的权限使其只能访问指定的数据库的方法,如下所示:
实验环境:sqlserver 2008

由于开发服务器上部署了N个数据库,先需按照项目组分别给予指定账户访问数据库的权限,避免不同的项目超权限访问其他项目组的数据库,下文分享通过脚本的方式变更账户的权限。
例:设置sql账户dev-test 访问testDataBase数据库

   --默认权限下,账户可以查看数据库下所有数据库,所以我们第一步取消此设置
    DENY VIEW any DataBase to Public   ---取消public角色查看所有数据库的权限,
    
    运行此设置后,数据库中所有账户全部都无法查看任何数据库,谨慎使用
    
    ALTER AUTHORIZATION ON DATABASE::testDataBase TO dev-test; 
     ---设置dev-test账户访问testDataBase数据库 
     ---我们可以采用此方法依次对每个数据库单独设置访问权限