第十二章 SQL Server安全管理
12.1 SQL Server安全的相关概念
12.2 服务器的安全性管理
12.3 数据库安全性管理
12.4 数据备份与还原综述
12.5 备份与还原操作练 习 题
12.6 备份与还原计
12.7 案例中的安全
12.8 案例中的备份和还原操作目录
12.1 SQL Server安全的相关概念
12.1.1 登录验证
12.1.2 角色
12.1.3 许可权限
12.1.1 登录验证在 SQL Server 2000中,要访问数据库服务器或数据库第一步就必须进行登录验证。在 SQL
Server 2000
中,有两种验证方式:一种是 Windows验证方式,另一种是 Windows和 SQLServer混合验证方式。
Windows验证方式就是完全采用 Windows
NT/2000
服务器的验证,只要能够登录到 Windows
NT/2000的用户,就可以登录到 SQL Server系统。
注意:由于 Windows 95/98系统不能验证
Windows NT/2000账号,因此只能采用 Windows
和 SQL Server混合验证方式。
设置验证模式:
在第一次安装 SQL Server,或者使用 SQL
Server连接其他服务器的时候,需要指定验证模式。
图 12.1 设置 SQL Server的验证模式
12.1.2 角色
SQL Server的角色与 Windows中的用户组概念相似,在 SQL Server可以理解为一些权限的集合。
在 SQL Server 2000中,具有两种类型的角色:
服务器角色和数据库角色。服务器角色决定登录到
SQL Server服务器的用户对服务器中数据库的操作权限。数据库角色决定数据库用户对数据库中对象具有
12.1.3 许可权限许可权限是指授予用户对数据库中的具体对象的操作权力或 SQL语句的使用权力。
在 SQL Server 2000中,用户能够访问的具体对象(如数据表、视图、存储过程等)是需要明确授权的。
一般情况下,任何用户都具有数据表或视图的数据的读( Select)权限,但对于插入( Insert)、
更新
12.2 服务器的安全性管理
12.2.1 查看登录账号
12.2.2 创建一个登录账号
12.2.3 更改、删除登录账号属性
12.2.4 禁止登录账号
12.2.5 删除登录账号
12.2.1 查看登录账号在安装 SQL Server 2000以后,系统默认创建 3个登录账号。
进入企业管理器,展开,SQL Server
组”,
找到所要连接的 SQL Server服务器:展开该服务器列应的文件夹,再展开“安全性”文件夹,单击“登录”选项,即可看到系统创建的默图 12.2 查看服务器登录账号其中,BUILTIN\Administrators、域名
\Adminstr
ator和 sa是默认的登录账号,他们的含义如下:
BUILTIN\Administrators:凡是 Windows NT
Server/
2000中的 Administrators组的账号 都允许作为
SQL
Server登录账号使用。
域名 \Administrator:允许 Windows NT Server

Administrator账号作为 SQL Server登录账号使用。
sa,SQL Server系统管理员登录账号,该账号
12.2.2创建一个登录账号要登录到 SQL Server必须具有一个登录账号,创建一个登录账号。
12.2.3 更改、删除登录账号属性进入企业管理器,展开,SQL Server组”,
找到所要连接的 SQL Server服务器:展开该服务器对应的文件夹,再展开“安全性”文件夹,单击“登录”
选项,在企业管理器的右侧窗格中,可看到系统创建的默认登录账号及已建立的其他登录账号。
在需要更改属性的账号上单击鼠标右键,
在出现的快捷菜单中单击相应选项,即可更改或删除
12.2.4 禁止登录账号如果要暂时禁止一个使用 SQL Server
身份验证的登录账号连接到 SQL Server,只需要修改该账户的登录密码就行了。如果要暂时禁止一个使用 Windows身份验证的登录账户连接到
SQL Server,则应当使用企业管理器或执行 T—
12.2.5删除登录账号如果要永久禁止使用一个登录账号连接到
SQL Server,就应当将该登录账号删除,
这可以使用企业管理器来完成。
12.3 数据库安全性管理
12.3.1 数据库用户
12.3.2 数据库角色
12.3.3 管理权限
12.3.1 数据库用户一个 SQL Server的登录账号只有成为某个数据库的用户时,对该数据库才有访问权限 。 在安装 SQL
Server后,默认数据库 ( 如 master,tempdb,msdb等 )
包含两个用户,dbo和 guest。 任何一个登录账号都可以通过 guest用户账号来存取相应的数据库 。 但是当新建一个数据库时,默认只有 dbo用户账号而没有
guest用户账号 。
1.创建数据库的用户
2.修改数据库的用户在数据库中建立一个数据库用户账号时,要为该账号设置某种权限,可以通过为它指定适当的数据库角色来实现。修改所设置的权限时,只需要修改该账号所属的数据库角色就了。
3.删除数据库的用户
4.设置数据库用户账号的权限
12.3.2 数据库角色
1.标准角色在创建一个数据库时,系统默认创建 10个固定的标准角色。在企业管理器中,展开 SQL Server组及其服务器,在“数据库’’文件夹中,展开某一数据库
(如
Student)的文件夹,然后单击“角色”选项,这时可在企业管理器的右侧窗格中显示出默认的 10个标准角色,
见表 12 2。
2,创建,删除新的角色
3,应用程序角色
4,public数据库角色
12.3.3 管理权限
1.权限的种类
( 1)对象权限。
( 2)语句权限。
( 3)隐含权限。
2.权限的管理
·授予权限。
·拒绝访问。
·取消权限。
3.用户和角色的权限规则
( 1)用户权限继承角色的权限。数据库角色中可以包含许多用户,用户对数据库对象的存取权限也继承自该角色。
( 2)用户分属不同角色。
12.4 数据备份与还原综述
12.4.1 备份与还原的基本概念
12.4.2 数据备份的类型
12.4.3 还原模式
12.4.1 备份和还原的基本概念备份是指制作数据库结构、对象和数据的复制,
以便在数据库遭到破坏的时候能够修复数据库:还原则是指将数据库备份加载到服务器中的过程。在下述情况下,需要使用数据库的备份和还原:
● 存储媒体损坏。
● 用户操作错误。
● 整个服务器崩溃。
● 需要在不同的服务器之间移动数据库时。
在备份过程中不允许执行以下操作:
● 创建或删除数据库文件。
● 创建索引。
● 执行非日志操作。
● 自动或手工缩小数据库或数据库文件大小。
12.4.2 数据备份的类型
1.数据库备份数据库备份是指对数据库的完整备份,包括所有的数据以及数据库对象。数据库备份一般在下列要求或条件下使用:
( 1)数据不是非常重要,尽管在备份之后还原之前数据被修改,但这种修改是可以忍受的。
( 2)通过批处理或其他方法,在数据库还原之后可以很轻易地重新实现在数据损坏前发生的修改。
( 3)数据库变化的频率不大。
2.事务日志备份事务日志备份是指对数据库发生的事务进行备份,
包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。在以下情况卞常选择事务日志备份:
( 1)不允许在最近一次数据库备份之后发生数据丢失或损坏的情况。
( 2)存储备份文件的磁盘空间很小或者留给进行备份操作的日寸间有限。例如,兆字节级的数据库需要很大的磁盘空问和备份时间。
( 3)准备把数据库还原到发生失败的前一点。
( 4)数据库变化较为频繁的情况。
3.差异备份差异备份是指将最近一次数据库备份以来发生的数据变化备份起来,因此,差异备份实实际上是一种增量数据库备份。
4.文件或文件组备份文件或文件组备份是指对数据库文件或数据库文件组进行备份,它不像完整的数据库备份那样同时也进行事务日志份。使用该备份方法可提高数据库还原的速度,因为它仅对遭到破坏的文件或文件组进行还原。
12.4.3 还原模式
1.简单还原简单还原就是指在进行数据库还原时仅使用了数据库备份或差异备份,而不涉及事务日志备份。
2.完全还原完全数据库还原模式是指,通过使用数据库备份和事务日志备份,将数据库还原到发生失败的时刻,
因此几乎不造成任何数据丢失。
3.批日志还原批日志还原在性能上要优于简单还原和完全还原模式。它能尽最大努力减少批批操作所需要的存储空间。
12.5 备份与还原操作
12.5.1 数据库的备份
12.5.2 数据库的还原
12.5.1 数据库的备份
1.用 Enterprise Manager管理备份设备
2.系统数据库备份操作
3,数据库备份
12.5.2 数据库的还原利用企业管理器还原数据库的方法和步骤。
图 12.13,还原数据库,对话框
12.6备份与还原计划通常,选择哪种类型的备份是依赖所要求的还原能力(如将数据库还原到失败点)、备份文件的大小
(如完成数据库备份、只进行事务日志的备份或是差异数据库备份)以及留给备份的时问等来决定。常用的备份方案有:仅进行数据库备份,或在进行数据库备份的同时进行事务日志备份,或使用完整数据库备份和差异数据库备份。
12.7案例中的安全现在我们就以实际的“学生管理信息系统”数据库的安全管理为案例,来加深 SQL Server在安全管理方面的理解,
从而巩固
SQL Server的安全管理技能。
12.8 案例中的备份和还原操作现在我们就以实际的“学生管理信息系统”
数据库的备份与还原为案例,来加深对 SQL
Server在备份与还原力面的理解。
练 习 题
1.简述 SQL Server 2000的登录验证模式。
2.简述数据库用户的作用及其与服务器登录账号的关系。
3.简述 SQL Server 2000中的三种权限。
4.在什么样的情况下需要进行数据库的备份和还原?
5.数据备份的类型有那?这些备份类型适合于什么样的数据库?
为什么?
6,SQL Server 2000提供了哪几种数据库恢复方式?
7.某单位的数据库每周五晚 12点进行一次完全数据库备份,每天晚上 12点进行一次差异备份,每小时进行一次日志备份,
数据库在 2004年 3月 5日 4,50崩溃。应如何将其恢复以使数据损失最小?