正式服务器中,为了安全、互不干扰,会给个DB库分配不同的账号,A库有ARead\AReadWrite\AOwn账号,B库有BRead\BReadWrite\BOwn账号。需要配置出来,甚至还能限制AReadUserTable只能对A库的User表读取权限。

以下操作有问题、不能完整实现需求!我抽空改

有UI操作和代码命令行操作2种。

需要区分好:账号、数据库角色、数据库用户等概念(参考https://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html 的解释):

UI:https://www.cnblogs.com/yxyht/archive/2013/03/22/2975880.html  (建议将《强制实施密码策略》及其下2个选项去除勾选)。

代码:https://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html

 --创建登陆帐户(create login)
CREATE LOGIN CommonAuthoritySystem_Read WITH PASSWORD='', DEFAULT_DATABASE=CommonAuthoritySystem --为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的CommonAuthoritySystem_Read
CREATE USER CommonAuthoritySystem_Read FOR LOGIN CommonAuthoritySystem_Read WITH DEFAULT_SCHEMA=dbo --通过加入数据库角色,赋予数据库用户“db_owner”权限
----db_owner,db_datareader,db_datawriter
EXEC sp_addrolemember 'db_datareader', 'CommonAuthoritySystem_Read'

注意:若要限制表,需要到数据库——表  属性那边去限制

真心感到:虽然windows可视化配置简单易学,但大规模运维如果还是点点弄弄,效率太低、容易出错、容易忘记,不如命令行封装成参数方法,用时只要执行就行。快速!

所以linux多搞搞,还是很高效的,深感linux、mysql的精神强大。

登陆帐户名为:“dba”,登陆密码:abcd1234@”,默认连接到的数据库:“mydb”。 这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。

要使 dba 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“dba”。 创建“数据库用户”和建立映射关系只需要一步即可完成:

2. 创建数据库用户(create user):

--为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的dba
create user dba for login dba with default_schema=dbo

并指定数据库用户“dba” 的默认 schema 是“dbo”。这意味着 用户“dba” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。

3. 通过加入数据库角色,赋予数据库用户“dba”权限:

--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'dba'

此时,dba 就可以全权管理数据库 mydb 中的对象了。

sqlserver为不同数据库建立不同访问权限的帐号的更多相关文章

  1. dedecms--二次开发文章内容页未登录禁止访问和同一个帐号只允许一个ip登录

    最近在用dedecms二次开发会员功能,领导要求,会员未登录不允许访问文章内容页,和同一个账号只允许一个ip登录,我是将这两个在一起判断的,判断session存不存在,不存在的情况下就是未登录,这时候 ...

  2. mysql数据库给别人访问权限

    注:本操作是在WIN命令提示符下,phpMyAdmin同样适用. 用户:phplamp  用户数据库:phplampDB 1.新建用户. //登录MYSQL @>mysql -u root -p ...

  3. 【IIS】windows2008 ii7 设置访问网站提示帐号密码登录

    3个步骤: 1.添加windows身份验证: windows2008默认是不启用的,需要我们自己去启动,在管理工具 - 服务器管理- 角色 ,拉下去,下面有个[添加角色服务],安全性- Windows ...

  4. 为K8S集群建立只读权限帐号

    参考URL: https://www.jianshu.com/p/a1a0d64f1245 https://mritd.me/2018/03/20/use-rbac-to-control-kubect ...

  5. CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

    SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服 ...

  6. mysql数据库帐号权限设置

    1.创建帐号 2.给帐号赋权限(xinjinlong帐号只有查看sakila表的权限) 3.更改密码 4.取消授权 revoke all on *.* from sss@localhost ;

  7. sqlserver设置具体的访问权限

    为具体的用户设置具体的访问权限 收藏 use 你的库名 go --新增用户 exec sp_addlogin 'test' --添加登录 exec sp_grantdbaccess N'test' - ...

  8. SQL SERVER 属性OWNER不可用于数据库xxx。该对象可能没有此属性,也可能是访问权限不足而无法检索。

    今天遇到一个案例:右键单击数据库的属性时出现下面错误提示: 属性Owner不可用于数据库xxx,该对象可能没有此属性,也可能是访问权限不足而无法检索. 使用脚本查看该数据库的Owner时发现Owner ...

  9. SQLServer控制用户访问权限表

    连接地址:http://www.cnblogs.com/yxyht/archive/2013/03/22/2975880.html 一.需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权 ...

随机推荐

  1. php : 文件及文件夹操作(创建、删除、移动、复制)

    Talk is cheap, show you the code : <?php /** * 操纵文件类 * */ class FileUtil { /** * 建立文件夹 * * @param ...

  2. 关于inodes占用100%解决方法

    df -i; 发现inode节点占满: 这个时候如果不知道哪儿节点占用多可以用下边的脚本进行检查,查看到底哪个目录下面的文件最多: for i in /*; do echo $i; find $i | ...

  3. CentOS 安装Nginx1.14.0

    原文地址:http://www.cnblogs.com/ascd-eg/p/9275441.html 一.安装所需环境   1.gcc 安装         yum install gcc-c++   ...

  4. Python 简单入门指北(一)

    Python 简单入门指北(一) Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑 ...

  5. [转]java List和数组相互转换方法

    原文地址:https://blog.csdn.net/zjx2016/article/details/78273192 前言在java项目中数组和list集合(这里指ArrayList)经常需要互相转 ...

  6. hdoj:2051

    #include <iostream> #include <string> #include <vector> #include <algorithm> ...

  7. 解决IE8下opacity属性失效问题,无法隐藏元素

    解决IE8下opacity属性失效问题   由于opacity属性存在兼容性问题,所以在IE8下,用opacity来设置元素的透明度,会失效,从而导致页面的样式问题.在IE8及其更早的浏览器下,我们可 ...

  8. SSH下authorized_keys, id_rsa, id_rsa.pub, known_hosts作用

    一.known_hsots ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts.当下次访问相同计算机时,OpenSSH会核对公钥.如果公钥不同,O ...

  9. Oracle分析函数-keep(dense_rank first/last)

    select * from criss_sales where dept_id = 'D02' order by sale_date ; 此时有个新需求,希望查看部门 D02 内,销售记录时间最早,销 ...

  10. Python3字典