菜单

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

2019年2月15日 - sqlite

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
>>服务器角色不容许更改
>>登录后也不自然有权力操作数据库

出于不是定点在一台微机开发,平日索要把数据备份与回复。或然是赞助客户修改程序,接收到客户备份好的数据,须求在电脑苏醒。

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

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

4.数据库级别设置

劳务器级 -> 数据库级 -> 架构级 – >
数据对象级,比如说:Server.DataBase1.dbo.Table1;那里的情趣就是Table1那些表属于dbo那
个架构,dbo那些架构属于DataBase1这几个数据库,DataBase1那一个数据库属于Server那几个服务器。里面的架构其实就是一个器皿,好像
就是面向对象里面的命名空间,3个用户可以有所多个架构,但是不只怕对尚未兼具的架构进行操作。1个数据库剧中人物,是对不相同架构里
面数据对象的权限协会,也有或者涉嫌到七个架构,当某三个用户被转换来一种数据库剧中人物的时候,假若那几个用户本身不有所某二个架
构而该数据库角色有所,那它当它对丰富架构举行操作的时候就会出错。

上面的’update_one’是推行的操作,将如今数据库中指定的
user 链接到现有的 SQL Serverlogin。

5.互相的涉及

(1)登录名与数据库用户在服务器级别是一对多的,在数据库级别是一对一的
   
登录名可以领略为进入整个楼房的钥匙,用户名可以清楚为1个屋子的钥匙,那里所说的楼面就是sql
server服务器,而房间就是
其一sql
server服务器中的具体的库,要留意登录名是存在于master数据库的syslogins表中,用户名是在各个具体的库下建立的(也就
是要先进入各种库),
最重点的是:三个签到名可以和多个不等库下的用户做映射,不过在同壹个库下只好和二个用户做映射,并且一
个用户名可以和多个登录名有映射关系,
真正有权力的是用户名,只然则是用登录名去登进数据库,然后去找映射的用户名,那样就
有了对应的权柄,刚起初树立的登录名只要把该登录名的服务器剧中人物设置为Database
Creator,就足以创设新的数据库了,并且新创设
的那一个数据库中会自动生成几个用户名:dbo和guest。并且刚刚建立的报到名就和dbo映射了,还有就是rbo也和sa映射了,因为sa作为
社团者的登录名和各样库中的rbo用户映射。

(2)三个数据库角色有或然涉嫌多少个架构,数据库角色对应的是权力
(3)一个用户对应三个数据库剧中人物
(4)三个数据库用户能够对应四个架构(架构是表容器),架构里面富含的是数量库表。

 

3.数据库级别

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

          用户具体地点在  数据库——>有个别具体库——>安全性——>用户

         
图片 3

 

        

数据库角色:SQL Server
中有三种档次的数码库级剧中人物:数据库中预约义的“固定数据库剧中人物”和你可以创设的“灵活数据库剧中人物”
原则性的有一些权力的数据库角色,全部数据库中都有那一个剧中人物,暗中同意有十三个,分别如下;

public
–public 角色是贰个独特的数据库角色,各个数据库用户都属于它。public
角色:
 >>捕获数据库中用户的具有默许权限。
 >>不可能将用户、组或角色指派给它,因为暗中认可情状下它们即属于该角色。
 >>包罗在各样数据库中,蕴涵 master、msdb、tempdb、model
和兼具用户数据库。
 >>不能除去。

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

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

db_datareader
–查看来自数据库中具备用户表的全部多少。

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

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

db_securityadmin
–管理 SQL Server 三千数据库剧中人物的脚色和成员,并管制数据库中的语句和目标权限

db_backupoperator
–有备份数据库的权杖

db_denydatareader
–拒绝选取数据库数据的权柄

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

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

     
 图片 4

 

留神:请不要将灵活数据库角色添加为固定角色的成员,那会促成意外的权柄升级。

 

架构:架构(Schema)是一组数据库对象的会见,它被单个负责人(能够是用户或脚色)所具有并组成唯一命名空间。可以将架 

构看成是目标的器皿。

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

      架构数据库角色具体地方在 
数据库——>某个具体库——>安全性——>架构

   
  图片 5

 

如此那般就必要将数据库用户映射到 SQL Server
登录名。如何映射?可使用下边的种类存储进程:

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

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

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

相关文章

发表评论

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

网站地图xml地图