数据库用户映射到 SQL Server 登录名

1.在SQL Server中,用户和剧中人物是分为服务器级别和数据库级其余

出于不是定位在一台微型总结机开发,平日供给把数据备份与还原。恐怕是帮助客户修改程序,接收到客户备份好的数目,须要在微型计算机复苏。

2.服务器级别

登录名:指有权力登录到某服务器的用户,例如超级管理员的报到名是sa;

              登录名具体地方在  数据库——>安全性——>登录名

           
  图片 1

 

服务器剧中人物:为补助你管理服务器上的权杖,SQL
Server 提供了好多剧中人物,这一个剧中人物是用于对其它重点开展分组的平安重点。
服务器级剧中人物
的权杖成效域为服务器范围。SQL Server 提供了九种固定服务器剧中人物,
不能改变给予固定服务器剧中人物的权柄,那9组剧中人物分别如下:
sysadmin         —— 在SQL
Server中展开其余活动,该剧中人物的权力跨越具有其余固定服务器角色
serveradmin   ——
更改服务器范围内的配备选项并关闭服务器
setupadmin     ——
添加和删除链接服务器,并履行有些系统存储进程(如 sp_serveroption)
securityadmin ——
授予数据库引擎的访问权限和安插用户权限的力量使得安全管理员能够分配大部分服务器权限,securityadmin
剧中人物应视为与sysadmin 剧中人物一样
processadmin   —— 管理在 SQL
Server 实例中运维的经过
dbcreator          ——
创造和更改数据库,可是没有读取权限
diskadmin          ——
管理磁盘文件
bulkadmin          —— 执行 BULK
INSERT 语句
public                 —— 各种SQL Server 登录名均属于 public 服务器剧中人物。
固然未向有个别服务器主体给予或拒相对有些安全指标的特定权
限,该用户将一而再授予该目的的 public
剧中人物的权限。当你希望该目的对全数用户可用时,只需对任何对象分配 public
权限即可。
您无法更改 public 中的成员涉及。public
的贯彻形式与任何剧中人物分歧,可是,能够从 public 授予、拒绝或裁撤权限。

           服务器脚色具体地点在  数据库——>安全性——>服务器剧中人物

         
 图片 2

 

注意:
>>登录名一定属于有个别剧中人物,默许为public
>>服务器角色不容许更改
>>登录后也不必然有权力操作数据库

如此就需求将数据库用户映射到 SQL Server
登录名。怎么着映射?可应用下面的系统存款和储蓄进度:

3.数据库级别

用户:指有权限能操作数据库的用户;

          用户具体地方在  数据库——>某些具体库——>安全性——>用户

         
图片 3

 

        

数据库脚色:SQL Server
中有三种档次的数量库级剧中人物:数据库中预订义的“固定数据库角色”和您能够成立的“灵活数据库角色”
永恒的有有些权柄的数据库角色,全体数据库中都有那些剧中人物,私下认可有1二个,分别如下;

public
–public 角色是八个破例的数据库剧中人物,各样数据库用户都属于它。public
角色:
 >>捕获数据库中用户的持有暗中认可权限。
 >>无法将用户、组或剧中人物指派给它,因为暗中同意意况下它们即属于该剧中人物。
 >>包蕴在各种数据库中,包罗 master、msdb、tempdb、model
和具有用户数据库。
 >>无法除去。

db_owner
–进行具有数据库剧中人物的移动,以及数据库中的其余维护和布局活动。
–该角色的权限跨越具有别的固定数据库剧中人物。

db_accessadmin
–在数据库中添加或删除 Windows NT 4.0 或 Windows 2000 组和用户以及 SQL
Server 用户。

db_datareader
–查看来自数据库中有着用户表的总体数据。

db_datawriter
–添加、更改或删除来自数据库中存有用户表的数据

db_ddladmin
–添加、修改或除去数据库中的对象(运维具有 DDL)

db_securityadmin
–管理 SQL Server 3000数据库剧中人物的角色和分子,并保管数据库中的语句和对象权限

db_backupoperator
–有备份数据库的权柄

db_denydatareader
–拒绝选拔数据库数据的权位

db_denydatawriter
–拒绝改变数据库数据的权杖

        数据库剧中人物具体位置在 
数据库——>某些具体库——>安全性——>剧中人物——>数据库角色

     
 图片 4

 

只顾:请不要将灵活数据库角色添加为一定剧中人物的分子,那会招致意外的权能升级。

 

架构:架构(Schema)是一组数据库对象的联谊,它被单个理事(能够是用户或角色)所享有并组成唯一命名空间。能够将架 

构看成是目的的器皿。

 >>数据库用户对应于服务器登录名以便登录者能够操作数据库
 >>数据库角色能够加上,能够定制分化权限  
 >>数据库框架结构,类似于数据库对象的命名空间,用户通过架构访问数据库对象

      架构数据库剧中人物具体地方在 
数据库——>某些具体库——>安全性——>架构

   
  图片 5

 

EXECUTE sp_change_users_login ‘update_one’,’user’,’login’

4.数据库级别设置

劳动器级 -> 数据库级 -> 框架结构级 – >
数据对象级,比如说:Server.DataBase1.dbo.Table1;这里的趣味就是Table1那些表属于dbo那
个架构,dbo那么些架构属于DataBase1这些数据库,DataBase1这几个数据库属于Server那些服务器。里面包车型客车架构其实正是一个器皿,好像
就是面向对象里面包车型大巴命名空间,1个用户能够有所多个架构,可是不能够对尚未具备的架构进行操作。三个数据库剧中人物,是对两样架构里
面数据对象的权柄组织,也有恐怕涉嫌到多个架构,当某三个用户被转换成一种数据库剧中人物的时候,假使那些用户自个儿不负有某八个架
构而该数据库剧中人物有所,那它当它对极度架构举行操作的时候就会出错。

 

5.相互的涉嫌

(1)登录名与数据库用户在服务器级别是一对多的,在数据库级别是一对一的
   
登录名能够知道为进入整个楼房的钥匙,用户名能够领略为三个房间的钥匙,那里所说的楼群就是sql
server服务器,而房间便是
那几个sql
server服务器中的具体的库,要专注登录名是存在于master数据库的syslogins表中,用户名是在一一具体的库下建立的(也就
是要先进入种种库),
最注重的是:1个签到名能够和四个例外库下的用户做映射,不过在同三个库下只好和多少个用户做映射,并且一
个用户名能够和五个登录名有映射关系,
真正有权力的是用户名,只不过是用登录名去登进数据库,然后去找映射的用户名,那样就
有了对应的权位,刚开首树立的登录名只要把该登录名的服务器剧中人物设置为Database
Creator,就足以创建新的数据库了,并且新建立
的那一个数据库中会自动生成八个用户名:dbo和guest。并且刚刚确立的登录名就和dbo映射了,还有正是rbo也和sa映射了,因为sa作为
领队的登录名和每种库中的rbo用户映射。

(2)一个数据库剧中人物有或然波及五个架构,数据库剧中人物对应的是权力
(3)二个用户对应二个数据库角色
(4)3个数据库用户能够对应五个架构(架构是表容器),架构里面包括的是数据库表。

上面的’update_one’是推行的操作,将日前数据库中钦点的
user 链接到现有的 SQL Serverlogin。

6.用T_SQL创制用户和登录用户例子

-- 1.创建登录用户(在master库下面执行)
USE master
GO
CREATE LOGIN readonlylogin WITH password='abc123...';

-- 2.创建数据库只读用户(在某个用户数据库下面执行)
USE TestDB
GO
CREATE USER readonlyuser FROM LOGIN readonlylogin;

-- 3.将用户加入数据库角色,例如 所有者角色db_owner、只读角色db_datareader等(在某个用户数据库下面执行)
USE TestDB
GO
EXEC sp_addrolemember 'db_datareader', 'readonlyuser';

--EXEC sp_addrolemember 'db_owner', 'readonlyuser';----可以将用户关联到多个数据库角色中

--EXEC sp_droprolemember 'db_owner', 'readonlyuser'----从特定的数据角色中删除用户

-- 4.用我们刚刚创建的readonlylogin用户进行登录,登录时要注意将“选项(英文是Options)-->连接属性(Connection Properties)-->连接数据库(Connect to database)”改为我们的目标数据库例如TestDB下面

  注意:

  1.登录名和用户名能够起一样的名字;

  2.假如是在平常的SQL Server中,就按上边操作即可,假设微软云Azure中的SQL
Server,大概有点语句不可能用,例如use master,default_schema=dbo等

 

 

参考地址:

https://blog.csdn.net/dawn4317/article/details/51338166

https://www.2cto.com/database/201712/707297.html

https://yq.aliyun.com/articles/381724

http://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html

https://blog.csdn.net/cjh200102/article/details/7359874

‘user’是指当数据库的用户名。

‘login’ 就您将要指向的SQL
Server 登录的名。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图