安全与权限

10.1创建登陆角色

10.1.1创建操作系统用户

--创建windows登录帐号

create login [计算机名\用户名]

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

from windows

with default_database=用户数据库

--添加为db_owner成员

Use 用户数据库

go

exec sp_addrolemember 'db_owner', [计算机名\用户名]

 

2.创建数据库用户

create login peterlogin

with password='123456'

use test

go

create user peteruser

for login peterlogin

修改数据库用户

删除数据库用户

Drop user 用户名

3.服务器角色管理

利用系统存储过程sp_addsrvrolemember可将一登录账号添加到某一固定服务器角色中,使其成为固定服务器角色的成员。

exec sp_addsrvrolemember ‘login’,'role'

利用sp_dropsrvrolemember系统存储过程可从固定服务器角色中删除SQL Server 登录账号或Windows NT用户或组。

EXEC sp_dropsrvrolemember ‘login’,'role'

4.数据库角色

使用系统存储过程浏览固定的数据库角色    EXEC SP_HELPdbfixedrole go

 

 

 

 

 

 

 

  1. 在当前计算机中增加一个用户zhang和cheng,密码为secret。使此用户通过winows 身份验证登录SQL Server服务器,登录名分别为zhang和cheng;

create login [814a9f854a6a4cc\zhang]

from windows

create login [814a9f854a6a4cc\cheng]

from windows

 

  1. 新建以混合模式登录SQL Server服务器的用户登录名为stu1、stu2和stu3,登录密码为secret,默认登录数据库为‘学生课程数据库’;

create login stu1

with password='secret',

default_database=学生课程数据库

create login stu2

with password='secret'

   default_database=学生课程数据库

 

create login stu3

with password='secret'

   default_database=学生课程数据库

 

  1. 将帐号zhang添加为‘学生课程数据库’的用户,用户名为zhang;

Use学生课程数据库

go

exec sp_addrolemember 'db_owner', [814a9f854a6a4cc\zhang]

或者

use 学生课程数据库

go

create user zhang

for login [814a9f854a6a4cc\zhang]

 

  1. 在学生课程数据库中创建用户stu1、stu2和stu3,登录帐号分别为stu1、stu2和stu3;

use 学生课程数据库

go

create user stu1

for login stu1

 

create user stu2

for login stu2

 

create user stu3

for login stu3

 

  1. 给数据库用户zhang赋予查询STUDENT表的权限;

grant select

on dbo.student

to zhang

 

  1. 给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限;

grant insert,update,delete

  • on dbo.sc

to stu1

 

 

  1. 给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查询sc的操作权限,并允许再授权给其他用户;

grant select,insert,update,delete

on student

to stu2 ,stu3

WITH GRANT OPTION

 

grant select,insert,update,delete

on dbo.course

to stu2 ,stu3

WITH GRANT OPTION

 

grant select,

on table dbo.sc

to stu2 ,stu3

WITH GRANT OPTION

  1. 收回数据库用户stu2对student表和course表的删除操作的权限;

revoke delete

      on table dbo.student

      from  stu2

 

revoke delete

      on table dbo.course

      from  stu2

 

  1. 若一个小组共5个成员,他们对学生课程数据库具有相同的操作权限,具体权限如下:

1)   对于student、course表只能进行数据查询;

2)   只能对student表中sname进行更改;

3)   对于sc表只能进行修改、删除或插入;

如何设置这个小组,并赋予他们权限

Use 学生课程数据库

create  role  xiaozu

1)grant select,

on table dbo.student,dbo.course

to xiaozu

  2) grant update(sname),

on table dbo.student

to xiaozu

    3) grant update,delete,insert

on table dbo.sc

to xiaozu

 

exec sp_addrolemember 'xiaozu', 'stu1'

exec sp_addrolemember 'xiaozu', 'stu2'

exec sp_addrolemember 'xiaozu', 'stu3'

exec sp_addrolemember 'xiaozu', 'stu4'

exec sp_addrolemember 'xiaozu', 'stu5'

10. 将登录帐号zhang、stu1、stu2和stu3加入到服务器角色sysadmin中;考虑并回答,它们将有哪些变化?

EXEC sp_addsrvrolemember ' zhang ', 'sysadmin'

EXEC sp_addsrvrolemember ' stu1 ', 'sysadmin'

EXEC sp_addsrvrolemember ' stu2', 'sysadmin'

EXEC sp_addsrvrolemember ' stu3 ', 'sysadmin'

11. 将登录帐号cheng同时拥有服务器角色serveradmin 和 securityadmin的权限;

EXEC sp_addsrvrolemember ' cheng ', 'serveradmin'

EXEC sp_addsrvrolemember 'cheng ', 'securityadmin'

 

12. 删除服务器角色sysadmin的成员stu2和stu3;

EXEC sp_dropsrvrolemember 'stu1', 'sysadmin'

EXEC sp_dropsrvrolemember 'stu2', 'sysadmin'

 

 

                     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                     

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄