1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)

--创建登陆帐户(create login)

create login dba with password='abcd1234@', default_database=mydb

登陆帐户名为:“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 中的对象了。

如果想让 SQL Server 登陆帐户“dba”访问多个数据库,比如 mydb2。 可以让 sa 执行下面的语句:

--让 SQL Server 登陆帐户“dba”访问多个数据库

use mydb2
go create user dba for login dba with default_schema=dbo
go exec sp_addrolemember 'db_owner', 'dba' go

此时,dba 就可以有两个数据库 mydb, mydb2 的管理权限了!
完整的代码示例:

--创建数据库mydb和mydb2--在mydb和mydb2中创建测试表,默认是dbo这个schemaCREATE TABLE DEPT(DEPTNO int primary key,DNAME VARCHAR(14),LOC VARCHAR(13) );--插入数据INSERT INTO DEPT VALUES (101, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (201, 'RESEARCH',   'DALLAS');
INSERT INTO DEPT VALUES (301, 'SALES',      'CHICAGO');
INSERT INTO DEPT VALUES (401, 'OPERATIONS', 'BOSTON');--查看数据库schema, user 的存储过程select * from sys.database_principals
select * from sys.schemas
select * from sys.server_principals--创建登陆帐户(create login)create login dba with password='abcd1234@', default_database=mydb--为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的dbacreate user dba for login dba with default_schema=dbo--通过加入数据库角色,赋予数据库用户“db_owner”权限exec sp_addrolemember 'db_owner', 'dba'--让 SQL Server 登陆帐户“dba”访问多个数据库use mydb2
go create user dba for login dba with default_schema=dbo
go exec sp_addrolemember 'db_owner', 'dba'go--禁用登陆帐户alter login dba disable
--启用登陆帐户alter login dba enable
--登陆帐户改名alter login dba with name=dba_tom
--登陆帐户改密码:alter login dba with password='aabb@ccdd'--数据库用户改名:alter user dba with name=dba_tom
--更改数据库用户 defult_schema:alter user dba with default_schema=sales
--删除数据库用户:drop user dba
--删除 SQL Server登陆帐户:drop login dba

转载于:https://www.cnblogs.com/caijiaming/p/9991216.html

在SQL Server中创建用户角色及授权(使用SQL语句)相关推荐

  1. 【转】在SQL Server中创建用户角色及授权(使用SQL语句)

    1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login) --创建登陆帐户(create login) create login dba with password=' ...

  2. 转 在SQL Server中创建用户角色及授权(使用SQL语句)

     目录 要想成功访问 SQL Server 数据库中的数据 我们需要两个方面的授权 完整的代码示例 使用存储过程来完成用户创建 实例 要想成功访问 SQL Server 数据库中的数据, 我们需要两个 ...

  3. 在SQL Server中创建用户角色及授权

    参考文献 http://database.51cto.com/art/201009/224075.htm 正文 要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许 ...

  4. SQL Server中出现用户或角色在当前数据库已经存在的问题的解决

    SQL Server中出现用户或角色在当前数据库已经存在的问题的解决 参考文章: (1)SQL Server中出现用户或角色在当前数据库已经存在的问题的解决 (2)https://www.cnblog ...

  5. SQL Server中通用数据库角色权限的处理详解

    SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...

  6. 创建视图SQL:在SQL Server中创建视图

    介绍 (Introduction) In this article, we are going to see how to use the CREATE VIEW SQL statement to c ...

  7. sql server中创建链接服务器图解教程

    转自sql server中创建链接服务器图解教程 1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号) ...

  8. php里注册管理员账号,WordPress中创建用户角色的相关PHP函数使用详解

    这篇文章主要介绍了WordPress中创建用户角色的相关函数使用,在WordPress的多用户模式中不同角色拥有不同的权限,需要的朋友可以参考下 WordPress 默认有 "订阅者&quo ...

  9. sql server中创建数据库和表的语法

    下面是sql server中创建数据库,创建数据表以及添加约束的sql语句: use master --创建数据库 if exists (select * from sysdatabases wher ...

最新文章

  1. php自定义控件,小程序自定义组件的实现方法(代码)
  2. 限制input输入小数只能到3位或者只能输入正整数(兼容ios)
  3. 使用cat写入内容到指定文件
  4. div中的table内容过多时不超出div的范围解决方法
  5. 基于ASP.net耳机网店商城系统(前台页面+后台页面)
  6. 最大子段和问题——详解(C++)
  7. 贪心算法(各种贪心题目)
  8. matlab无穷积分求解_python做微积分
  9. 安装Sql server 2008遇到无法安装.net 3.5的问题解决办法
  10. Oracle自定义函数示例
  11. 企业直播带货如何做?第一步就是选直播平台
  12. 阿里系退出吴奇隆刘诗诗公司 仅靠明星光环难留资本
  13. 贝多芬《 d小调第九交响曲》(Symphony No.9 in d Minor, Op.125, 1824)(永无完结)
  14. XU316-1024-熙光技术
  15. html语言加号点一下变成减号6,CSS3 linear-gradient线性渐变生成加号和减号的方法...
  16. 5个步骤做好会议复盘工作
  17. VB实现自动生成统计图表
  18. RGB与HSV颜色空间转换
  19. vue中根据汉字生成拼音
  20. 跨时钟域同步1---亚稳态的产生和解决方案

热门文章

  1. 金笛MODEM池 (RS232串口和RJ45网口)
  2. 【报告分享】2021年95后医美人群洞察报告:颜值经济,95后“美力”来袭.pdf(附下载链接)...
  3. 【报告分享】GitHub 2020数字洞察报告.pdf(附下载链接)
  4. 基于检索的自然语言处理模型研究梳理
  5. EMNLP杰出论文 | 当注意力遇到RNN,五倍以上训练加速!
  6. 经典查找算法及其Python实现
  7. 为什么推荐做印尼tiktok?
  8. 遍历界面控件 android,Android 判断所有字段是否已经输入的实例
  9. 惯性积计算实例_关于材料力学中惯性矩的认识00
  10. sql2012服务器桌面图标,Windows Server 2012 修改桌面图标