数据与统计

黄玉珍

目录

  • 1 第一章 绪论
    • 1.1 数据库系统概述
    • 1.2 数据模型
  • 2 第二章 数据库的基本操作
    • 2.1 文件与事务操作
    • 2.2 数据库的创建与查看、管理
  • 3 第三章 数据表的建立与操作
    • 3.1 数据表及SQL Server数据类型
    • 3.2 数据库中表的操作
  • 4 第四章  数据查询
    • 4.1 基本查询与带条件查询
    • 4.2 高级查询
  • 5 第五章 数据完整性
    • 5.1 数据完整性的基本类型与约束
    • 5.2 默认、规则、标识和自定义数据类型
  • 6 第六章 视图
    • 6.1 视图的概述及视图的操作
  • 7 第七章 存储过程
    • 7.1 存储过程的概述及存储过程的操作
  • 8 第八章 触发器
    • 8.1 触发器的概述及触发器的操作
  • 9 第九章 用户自定义函数
    • 9.1 用户自定义函数概述及操作
  • 10 第十章 安全管理
    • 10.1 安全机制、登陆账户、角色、权限
  • 11 第十一章  备份与恢复
    • 11.1 备份、恢复及其相关操作
安全机制、登陆账户、角色、权限

SQL Server的安全机制概述

SQL Server的安全体系结构:

•操作系统的安全性。可以通过安装防火墙系统得以提高。

•SQL Server的登录安全性。允许哪些用户登录。

•数据库的使用安全性。规定用户登录以后可以使用哪些数据库。

•数据库对象的使用安全性。规定用户登录某一数据库后,可以操作哪些数据库对象以及怎样操作。

安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。

1.第一个安全性问题

当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。

在SQL Server系统中,通过身份验证模式主体解决这个问题。

(1)身份验证模式

以Microsoft SQL Server 2008系统为例,提供了两种身份验证模式:Windows身份验证模式和混合模式。

•Windows身份验证模式:

 在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。

•混合模式:

在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL  Server身份验证。

查看与更改身份模式的示意图如下:

(2)主体

主体是可以请求系统资源的个体或组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。

Microsoft SQL Server系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。

2.第二个安全性问题

当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源

•在Microsoft SQL Server系统中,通过安全对象和权限设置来解决这个问题。


主体与安全对象的示意图如下:

3.第三个安全性问题

数据库中的对象由谁所有?如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办?

在Microsoft SQL Server系统中,这个问题是通过用户和架构分离来解决的。

创建登陆账户及相关操作

1.创建Windows登陆账户

示意图如下:



2.创建SQL Server登陆账户

示意图如下:

3.启用、禁用和解锁登陆

要启用、禁用或解锁一个登录的操作步骤:

(1)启动MicrosoftSQL Server Management Studio,在“对象资源管理器”视图中,连接到适当的服务器,然后向下浏览至“安全性”文件夹。

(2)展开“安全性”文件夹和“登录名”文件夹以列出当前的登录。右击一个登录,然后从快捷菜单中选择“属性”以查看此登录的属性。这样会打开“登录属性”对话框。

示意图如下:

(3)在“登录属性”对话框左侧列表中选择“状态”选项,打开“状态”页面

(4)然后可以进行以下操作:

•若要启动登录,在“登录”选项区下选择“启用”单选按钮。

•若要禁用登录,在“登录”选项区下选择“禁用”单选按钮。

•要解锁登录,清除“登录已锁定”复选框。

(5)最后单击“确定”按钮,完成操作。

4.修改登录

具体操作步骤如下:

(1)打开“登录属性”对话框

(2)单击“登录属性”对话框左侧的“用户映射”选项,可以为当前用户添加一个连接数据库“msdb”


5.删除登录

(1)在MicrosoftSQL Server Management Studio中删除登录账户

•启动MicrosoftSQL Server Management Studio,然后访问适当的服务器。

•在服务器的“安全性”文件夹中展开“登录名”文件夹。

•右击想要删除的登录,然后从快捷菜单中选择“删除”,要开“删除对象”对话框,

(2)使用Transact-SQL语句删除登录账户

命令格式如下:

    DROP LOGIN login_name

角色

SQL Server中包含三种类型的数据库角色:

1.固定服务器角色

是微软提供的作为系统一部分的角色;固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。

固定服务器角色的特点:

在SQL Server系统中,可以把登录名添加到固定服务器角色中,使登录名作为固定服务器角色的成员继承固定服务器角色的权限。

对于登录名来说,可以选择其是否成为某个固定服务器角色的成员

2.用户定义的标准数据库角色

用户自己定义的角色,将Windows用户以一组自定义的权限分组;

3.应用程序角色

用来授予应用程序专门的权限,而非授予用户组或者单独用户。

权限

1. 常用的权限

2.操作权限

权限分为3种状态:授予、拒绝、撤销,可以使用如下的语句来修改权限的状态。

(1)授予权限(GRANT):授予权限以执行相关的操作。通过角色,所有该角色的成员继承此权限。

语法格式如下:

    GRANT

    {ALL|statement[,..n]}

    TO security_account[,..n]

(2)撤销权限(REVOKE):撤销授予的权限,但不会显示阻止用户或角色执行操作。用户或角色仍然能继承其他角色的GRANT权限。

    REVOKE{ALL|statement[,..n]}

    FROMsecurity_account[,..n]

(3)拒绝权限(DENY):显式拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他授予的权限。

    DENY{ALL|statement[,..n]}

    TO security_account[,..n]