Download presentation
Presentation is loading. Please wait.
1
第8章 SQL Server安全管理 谁都可以任意访问数据库吗?
三级安全层次: 必须登录到SQL Server(服务器的安全性) 必须具备访问某数据库的权限(数据库的安全性) 必须具备访问数据库中对象的权限(数据库对象的安全性)
2
8.2 身份验证(服务器的安全性) 8.2.1. 身份验证模式 SQL Server 2000提供了两种身份验证模式:
8.2 身份验证(服务器的安全性) 身份验证模式 SQL Server 2000提供了两种身份验证模式: ①Windows身份验证模式 ②混合模式(Windows身份验证和SQL Server身份验证) 身份验证模式的选择可以在首次安装SQL Server时进行(P10),也可以后期修改(右击服务器,“属性”,“安全性”选项卡)。 当连接SQL Server服务器时,需指定使用哪种身份验证(当然,必须符合该服务器的身份验证模式)。
3
8.2 身份验证(服务器的安全性) 登录帐号 服务器的安全性是通过设置系统登录帐号进行管理的。有了登录帐号才能进入SQL Server服务器。 在SQL Server 2000 中有两种登录帐号: ①Windows用户帐号 ②SQL Server 帐号 依次展开“服务器组、服务器、安全性、登录”节点,就会看到SQL Server的登录帐号。此时可以添加和管理登录帐号。
4
8.2.2. 登录帐号 1. 系统内置的登录帐号 安装SQL Server后,就会看到2个或3个登录帐号:
builtin\administrators:Windows 的组帐号,凡属于该组的帐号都允许登录SQL Server。 sa:SQL Server超级系统管理员帐号,拥有最高的管理权限,可以执行服务器范围内的所有操作。 域名或计算机名\administrator: Windows 的administrator帐号,允许登录SQL Server 。 建议:日常管理中最好不要使用sa登录帐号,可以再添加一个系统管理员帐号。
5
8.2.2. 登录帐号 2. 添加和管理登录帐号 依次展开“服务器组、服务器、安全性、登录”节点,此时可以添加、修改、删除、禁止登录帐号。
(1)添加Windows帐号: Windows 的用户必须在SQL Server中有登录帐号才可登录SQL Server服务器。 具体操作:单击浏览按钮来查找和添加用户或组,选择默认数据库、默认语言。 (2)添加SQL Server 帐号:输入名称和密码。 注:系统表sysxlogins中记录所有的登录帐号。
6
8.3 权限验证 用户帐号(数据库的安全性) 一个登录帐号成功登录SQL Server服务器后,并不自动拥有对所有数据库的访问权限,它还必须在想要访问的数据库中有一个用户帐户。 在安装SQL Server后,系统数据库(如master)包含两个用户:dbo和guest。任何一个登录帐号都可通过guest帐号来访问相应的数据库。但新建的数据库只有一个dbo用户。 sa和builtin\administrators会自动成为数据库的用户帐号dbo。 单击“用户”,可看到登录帐号与用户帐户之间的映射。
7
用户帐号 添加和管理用户帐号 展开某数据库,单击“用户”,此时可以添加、修改、删除该数据库的用户帐号。实际上就是把一个登录帐号映射为数据库的用户帐号。 其实,在添加和管理登录帐号时,就可以把登录帐号与所允许访问的数据库联系起来(登录帐号属性中“数据库访问”选项卡) 注:系统表sysusers中记录所有的用户帐号。 有了用户帐号,可以访问数据库了。但是,对数据库有哪些权限呢(数据库对象的安全性)? 首先,可以通过为该用户帐号指定一个或多个适当的数据库角色来实现,其次,可以直接为该用户帐号设置权限。
8
数据库角色 1. 固定的数据库角色 展开某数据库,单击“角色”,就会看到10个固定的数据库角色。不同的数据库角色具有不同的权限。 在添加或管理用户帐号时,可以为其指定一个或多个数据库角色,从而使其具有相应权限。 每个数据库中都有一个特殊的数据库角色public。数据库中的每个用户都属于public角色。如果想让数据库中的每个用户都具有某个特定的权限,则可以将该权限指派给public角色。public角色无法删除。
9
P198
10
数据库角色 2. 自定义数据库角色 很多时候,固定的数据库角色不能满足需要。例如:管理员需要给market数据库的一些用户设置这样的权限:对表orders有增删改的权限,但对goods表和customers表只有查询的权限。 展开某数据库,单击“角色”,就可以建立和管理自定义的数据库角色。注意:先建立角色、添加用户,后授予权限。 注意:甚至可以对表中的列设置权限。 应用程序角色(略)
11
用户和角色的权限 如前所述,数据库中的用户帐号,通过为其指定一个或多个数据库角色(至少是public角色),获得了相应的数据库对象的权限。 其实,也可以单独为其设置权限,方法:右击用户帐号,“属性”,单击“权限”按钮。 另外,可以给表、视图、存储过程等数据库对象设置权限(哪些用户和角色可以对其有何种权限),方法:右击数据库对象,“所有任务”→“管理权限”。 ①用户权限继承角色权限,也可单独设置权限 ②用户可分属不同角色 ③拒绝权限优先 用户和角色的权限规则
12
8.3.4. 了解用SQL语句管理权限 √GRANT命令用于把权限授予某帐户,以允许该用户执行针对某对象的操作或允许其运行某些语句。 例:
GRANT CREATE DATABASE TO wsm GRANT INSERT,UPDATE ON goods TO wsm ×DENY命令可以用来禁止用户对某一对象的某些操作或禁止某些语句的执行。 REVOKE命令用来取消经过GRANT语句授予的用户对某一对象或语句的权限。 在默认状态下,只有系统管理员等才有权利执行数据控制语言(DCL)
13
补充:服务器角色 问题—如果要允许某帐户创建数据库,怎么做? 方法—令其属于服务器角色Database Creators 服务器角色具有完成特定的服务器管理的权限。依次展开“服务器组、服务器、安全性、服务器角色”节点,就会看到固定的8个服务器角色。 可以向这些角色中添加成员以获得相应的管理权限。 在添加或管理登录帐号时,可以令其属于一个或多个服务器角色(不是必须的),从而使其具有相应权限。
15
第9章 数据库的备份和还原 9.1 概述 何时需要备份和还原?
第9章 数据库的备份和还原 9.1 概述 SQL Server 2000提供的数据库备份和还原机制可以最大限度地避免用户数据的意外丢失,并为不同服务器上的用户传递数据提供了方便快捷的手段。 何时需要备份和还原? 存储媒体损坏 用户操作错误 服务器崩溃 在不同的服务器之间移动数据库时 备份要事先做
16
四种备份方法 完全数据库备份 差异备份(增量备份): 只备份最后一次全库备份后被修改的数据 事务日志备份: 只备份对数据库的所有更改的命令
数据库文件和文件组备份(略): 必须与事务日志备份相结合才有意义
17
例:数据库备份与还原顺序表 备份方法 时刻1 时刻2 时刻3 时刻4 还原顺序 全库备份 全库1 全库2 全库3 差异备份 差异1 差异2
日志备份 日志1 日志2 文件和文件组备份 文件1,日志1 文件2,日志2 文件1,日志3 全库3 全库1→差异2 全库1 →日志1 →日志2 全库1 →差异1 →日志2 文件1: 时刻3的文件1 →日志3 文件2: 时刻2的文件2 →日志2 →日志3
18
建议采用的备份方案 在实际工作中为了最大限度地减少数据库还原时间,降低数据损失数量,一般综合使用全库备份、差异备份和事务日志备份。
备份方案一 ①每周一次全库备份 ②每天一次差异备份 ③每小时一次事务日志备份 备份方案二 ①每天一次全库备份 ②每4小时一次差异备份 ③每30分钟一次事务日志备份 还原时,先还原最后一次全库备份,再还原最后一次差异备份,再顺次还原最后一次差异备份以后进行的所有的事务日志备份。 若要还原到失败点,应备份当前正处于活动状态的事务日志。如果无法备份,则不能还原到失败点。
19
9.2 备份数据库 1. 备份数据库 备份的方法:①向导 ②企业管理器 ③SQL语句 右击数据库,“所有任务”“备份数据库” 注意:如果不能选择“事务日志”和“文件和文件组”备份,可以在数据库“属性”对话框的“选项”中将“故障还原模型”更改为“完全”。 2. 创建备份设备 备份设备是用来存储各种备份的存储介质。备份设备在硬盘中是以文件的方式存储的。一个备份设备中可以放多个数据库的备份,易于管理。文件夹“管理”|“备份”下可创建和管理备份设备。 P207
20
9.3 还原数据库 数据库备份后,一旦系统发生崩溃或者数据库中的数据被破坏,就可以从备份文件中恢复数据库,减少损失。
9.3 还原数据库 数据库备份后,一旦系统发生崩溃或者数据库中的数据被破坏,就可以从备份文件中恢复数据库,减少损失。 方法:右击“数据库”,“所有任务”“还原数据库”,选择要还原的数据库及其备份。 注意:如果要还原的是已经被删除的数据库,或者是其他计算机上备份的数据库,那么只能选择“从设备”还原,并在“还原为数据库”框中直接输入数据库名,最后还要注意“选项”中“还原为”的路径是否正确。
21
9.4 数据库的维护 利用数据库的维护计划向导可以方便地设置数据库的自动维护任务,为管理员节省时间,也可以防止延误数据库的维护工作。
9.4 数据库的维护 利用数据库的维护计划向导可以方便地设置数据库的自动维护任务,为管理员节省时间,也可以防止延误数据库的维护工作。 方法:右击数据库,“所有任务”“维护计划” 其实,在备份数据库的“调度”中,就可以安排备份计划。
Similar presentations