数据库应用第五章:安全与权限

一.简述SQL Server 2008的安全层次?

    在SQL Server 2008中,数据的安全保护由4个层次构成。SQL Server 2008主要对其中
的3个层次提供安全控制。下面分别对每个层次进行简介。
(1) 远程网络主机通过Internet访问SQL Server 2008服务器所在的网络,这由网络环境提
供某种保护机制。
(2) 网络中的主机访问SQL Server 2008服务器,首先要求对SQL Server进行正确配置;
其次是要求拥有对SQL Server 2008实例的访问权--登录名。
(3) 访问SQL Server 2008数据库,这要求拥有对SQL Server 2008数据库的访问权--
数据库用户。
(4) 访问SQL Server 2008数据库中的表和列,这要求拥有对表和列的访问权--权限。

二.对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式?有几类角色?

    SQL Server 2008支持两种身份验证模式:
        Windows身份验证模式 
        混合身份验证模式。
    有三类角色:
        服务器角色
        数据库角色 
        应用程序角色

三.什么是架构,架构有什么用处?

    SQL Server 2008实现了ANSI中有关架构的概念。架构是一种允许用户对数据库对象进行
分组的容器对象。架构对如何引用数据库对象有很大的影响。在SQL Server 2008中,一个数
据库对象通过4个命名部分所组成的结构来引用:
                    <服务器>.<数据库>.<架构>.<对象>
    使用架构的一个好处是它可以将数据库对象与数据库用户分离,可以快速地从数据库中删除
数据库用户。在SQL Server 2008中,所有的数据库对象都隶属于架构,在对数据库对象或者
对其存在于数据库应用程序中的相应引用没有任何影响的情况下,可以更改并删除数据库用户。
这种抽象的方法允许用户创建一个由数据库角色拥有的架构,以使多个数据库用户拥有相同的
对象。

四.管理对可编程对象的访问主要涉及哪些可编程对象?

1.可编程对象,如存储过程及用户定义的函数,具有自己的安全上下文。
2.数据库用户需要获得授权以执行存储过程、函数和程序集。一旦数据库引擎检查了执行可编程
对象的权限,就会在可编程对象内部对其所执行的操作进行权限检查。
3.当数据库对象按顺序相互访问时,该访问顺序将形成一个所有权链。

五. 用T-SQL命令用数据库管理员身份完成下面操作:
(1)创建SQL SERVER登录用户”tomlogin”,密码为”12345”。
(2)在”students”数据库中为”tomlogin”创建创建数据库用户”tom”。
(3)授予”tom”对数据库中的”student”表的SELECT、INSERT和UPDATE权限。
(4)收回”tom”对数据库中的”student”表的SELECT、INSERT和UPDATE权限。
(5)使”tom”能拥有对students数据库的全部访问权限。

(1)创建SQL SERVER登录用户“tomlogin”,密码为“12345”。
    use master
    create login tomlogin with password='12345'2)在“students”数据库中为“tomlogin”创建创建数据库用户“tom”。
    use students
    createuser tom for login tomlogin

(3)授予“tom”对数据库中的“student”表的SELECTINSERTUPDATE权限。
    use students
    grant select,insert,update on student to tom 

(4)收回“tom”对数据库中的“student”表的SELECTINSERTUPDATE权限。
    use students
    revoke selectinsert,update on student to tom 

(5)使“tom”能拥有对students数据库的全部访问权限。
    use students
    Exec sp_addrolemember 'db_owner',tom

猜你喜欢

转载自blog.csdn.net/weixin_37519752/article/details/80913017