如何让用户只能访问特定的数据库(MSSQL)
2016-01-13 13:14
141 查看
背景
客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护,
为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库。
解决方案
1.先给不同的厂商创建不同的登录名(如下以一个厂商为例)
2.将登录名加入到public服务器角色中,然后点击确定
3.将待授权的数据库的dbowner指派给该用户
此时用'provider1'登录SQL Server,便只能看到指定的用户数据库了(系统数据库除外)
说明:
我之前希望在第2个步骤中设置登录名的用户映射来实现这个需求,如下图,但没有效果,登录到SQL Server后还是无法看到用户数据库,
所以才采用上述方法:
客户的SQL Server实例上有多个厂商的数据库,每个数据库由各自的进行厂进行商维护,
为了限定不同厂商的维护人员只能访问自己的数据库,现需要给各个厂商限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库。
解决方案
1.先给不同的厂商创建不同的登录名(如下以一个厂商为例)
2.将登录名加入到public服务器角色中,然后点击确定
3.将待授权的数据库的dbowner指派给该用户
Use [xjcs] go EXEC dbo.sp_changedbowner N'provider1'
此时用'provider1'登录SQL Server,便只能看到指定的用户数据库了(系统数据库除外)
说明:
我之前希望在第2个步骤中设置登录名的用户映射来实现这个需求,如下图,但没有效果,登录到SQL Server后还是无法看到用户数据库,
所以才采用上述方法:
相关文章推荐
- mysql建索引
- oracle提示TNS:无监听程序的解决办法
- .net数据库connection ,command,trans,数据库练习!
- sql 主键操作
- mysql 查看数据库中所有表的记录数
- sql: 去除数据库表中tab、空格、回车符等特殊字符的解决方法
- SQL Server时间粒度系列----第6节基于当前日的小时数和分钟数与mysql unix_timestamp和from_unixtime的mssql实现
- 第04章 数据库系统 之 数据仓库
- 第04章 数据库系统 之 数据挖掘
- 第04章 数据库系统 之 分布式数据库
- 第04章 数据库系统 之 并发控制
- 第04章 数据库系统 之 备份与恢复技术
- 第04章 数据库系统 之 规范化理论
- 第04章 数据库系统 之 数据库完整性约束
- mysql连接权限问题 Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号
- redis复制
- 第04章 数据库系统 之 数据库模式
- Sqlite的基本操作
- Redis操作命令总结
- 阿里云RDS导入mysql数据库