




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章数据库,第8章 数据库保护及SQL Server的 数据库保护技术,8.1 数据库安全性及SQL Server 的安全管理 8.2 数据库完整性及SQL Server的完整性控制 8.3 数据库并发控制及SQL Server的并发控制机制 8.4 数据库恢复技术与SQL Server数据恢复机制,第八章数据库,8.1 数据库的安全性及SQL Server的安全管理,数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。,用户标识和鉴别 存取控制 操作系统安全保护 密码存储,8.1.1 数据库安全性控制的一般方法,计算机系统的安全模型,第八章数据库,1. 用户标识与鉴
2、别,(1) 用输入用户名(用户标识号)来标明用户身份。,(3) 通过回答对随机数的运算结果表明用户身份。,(2) 通过回答口令标识用户身份。,第八章数据库,2. 存取控制,(1) 存取机制的构成。,1) 定义用户权限,并将用户权限登记到数据字典中。,2) 当用户提出操作请求时,系统进行权限检查,拒绝用户的非法操作。,第八章数据库,(2) 存取机制的类别。,自主存取控制(Discretionary Access Control ,简称DAC)。,2) 强制存取控制( Mandatory Access Control,简称 MAC )。,第八章数据库,(3). 自主存取控制方法,(a) 关系中的用
3、户权限。 用户权限主要包括数据对象和操作类型两个要素。,第八章数据库,第八章数据库,(b) SQL的数据控制功能。 SQL的数据控制功能为GRANT语句(授权)和REVOKE语句(收权)。,GRANT ALL PRIVILEGES|ON TO | PUBLIC,REVOKE|ALL PRIVILEGES ON FROM |PUBLIC,第八章数据库,强制存取控制(MAC)是指系统为保证更高程度的安全性,所采取的强制存取检查手段。,(4). 强制存取控制方法,主体与客体 在MAC中,DBMS所管理的全部实体被分为主体和客体两大类 主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程
4、,第八章数据库,客体是系统中的被动实体,是受主体操纵 文件 基表 索引 视图,敏感度标记 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label) 敏感度标记分成若干级别 绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),第八章数据库,主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level),MAC机制就是通过对比主体的Label和客体的 Label,最终确定主体是否能够存取客体,第八章数据库,强制存取控制规则 当某一用户(或某一主体)以标
5、记label注册入系统时,系统要求他对任何客体的存取必须遵循下面两条规则: (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。,第八章数据库,DAC与MAC共同构成DBMS的安全机制 先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。,第八章数据库,5. 视图、审计和数据加密机制,1)视图 把数据对象限制在一定范围内,把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。,例:王平只能检索计算机系学生的信息: 建立计算机
6、系学生的视图CS_Student, 在视图上进一步定义存取权限,第八章数据库,3)数据加密 数据加密是防止数据库中的数据在存储和传输中失密的有效手段。加密方法主要有两种:替换方法和置换方法,2)审计 审计功能是一种监视措施,它跟踪记录有关数据的访问活动。审计功能一般主要用于安全性要求较高的部门。,第八章数据库,选择“工具”菜单下“SQL Server Profiler”设置 跟踪 。,第八章数据库,8.1.2 SQL Server的安全体系结构和安全认证模式,1. SQL Server的安全体系结构,用户登录请求,NT操作系统,SQL Server 数据库 服务器,SQL Server 数 据
7、 库,数据库对象,第八章数据库,(2) SQL Server的运行安全防线: 通过 另一种帐号设置来创建附加安全层。,(1) Windows NT操作系统的安全防线:网络管理员负责建立用户组,设置帐号并注册,同时决定不同的用户对不同系统资源的访问级别。,第八章数据库,(3) SQL Server数据库的安全防线: 特定数据库都有自己的用户和角色,该数据库只能由它的用户或角色访问,其他用户无权访问其数据。,(4) SQL Server数据库对象的安全防线: 对权限进行管理,合法用户必须在自己的权限范围内进行数据操作。,第八章数据库,2. SQL Server的安全认证模式,(1) Windows
8、(S)安全认证模式 SQL服务器通过使用Windows网络用户的安全性来控制用户对SQL服务器的登录访问。,(2) 混合安全认证模式 使用Windows(S)安全认证模式或SQL Server安全认证模式。,3. 设置SQL Server的安全认证模式,第八章数据库,8.1.3 SQL Server的用户和角色管理,1. 登录的管理 登录(亦称Login用户)通过帐号和口令访问SQL Server的数据库。,A.启动并登录Sql Server Management Studio 在 【对象资源管理器】面板中展开【安全性】分支。 B.右击【登录名】分支,在弹出的快捷菜单中选择 【新建登录名】,弹
9、出【登录名-新建】对话框。,第八章数据库,C.在【登录名】文本框中输入要命名的登录名如”mini”, 点选【Sql server身份验证】单选按钮,在密码与确认密码文本框中输入“mini”,在【默认数据库】下拉框中选择“学生”数据库,取消勾选强制实施密码策略复选框。,第八章数据库,创建Windows登录,创建Windows登录与创建Sql Server 登录有一处不同,就是先要在Windows操作系统中进行用户添加操作,然后才能在Sql Server 中创建登录。 A.在Windows操作系统的桌面上右击“我的电脑”图标,在弹出的快捷菜单中选择“管理”命令,弹出“计算机管理”对话框。 B.展开
10、“计算机管理”|“本地用户和组”分支,右击“用户”分支,在弹出的快捷菜单中选择“新用户”命令,弹出“新用户”对话框。,第八章数据库,C.在“用户名”文本框中输入“mi”,在”密码”和”确认密码”文本框中输入“mi”,取消勾选“用户下次登录时要更改密码”复选框,单击“创建”按钮 进行windows用户的创建。 D. windows用户创建完成后,在用户列表中就可以看到用户了。 E.启动并登录Sql Server Management Studio,在对象资源管理器面板中展开【安全性】分支,右击【登录名】分支,在弹出的菜单中选择【新建登录名】命令,弹出“登录名-新建”对话框,第八章数据库,【登录名
11、】文本框:输入sql server登录名,可以是Windows用户名或Windows组名,格式为。单击右侧【搜索】按钮可以弹出【选择用户或组】对话框,以查找windows用户。选择【 windows 身份验证】单选按钮。 选择【默认数据库】,第八章数据库,权限,在数据库内部,SQLserver 提供的权限作为访问权限设置的最后一道关卡。一个登录者若要对某个数据库进行修改或访问,必须具有相应的权限。这种权限涉及服务器级与数据库级的操作。权限既可以直接获得,也可以通过成为角色成员而继承角色的权限。权限的管理操作包括授予、拒绝和废除。,第八章数据库,权限的类型 有3种:对象权限、语句权限、隐含权限。
12、 1、对象权限 :指对已经存在的数据库对象的操作权限,包括数据库对象的select insertupdatedeleteexecute权限 2、语句权限:用于创建数据库或数据库对象所涉及的活动。例如,向用户授予Create table 语句的权限后,用户将能够在数据库中创建表。各语句权限分别如下,第八章数据库,BACKUP DATABASE 用于备份数据库 BACKUP LOG 用于备份数据库日志 CREATE DATABASE 用于创建数据库 CREATE DEFAULT 用于创建默认对象 CREATE FUNCTION 用于创建函数 CREATE PROCEDURE 用于创建存储过程 CR
13、EATE TABLE 用于创建表 CREATE VIEW 用于创建视图,第八章数据库,隐含权限:隐含权限控制那些只能由固定角色的成员或数据库对象所有者执行的活动。 例如 sysadmin固定服务器角色成员自动继承SqlServer中进行安装、操作和查看的全部权限。 数据库对象所有者具有隐含权限指它可以对所拥有的对象执行一切操作。例如拥有表的用户可以修改、添加或删除数据,更改表定义,或控制其他用户操作表的权限。,第八章数据库,为用户设置权限 以登录名mini为例,A、启动并登录sql Server Management Studio,在【对象资源管理器】面板中展开【安全性】|【登录名】分支,右击
14、【mini】,在弹出的快捷菜单中选择【属性】命令,弹出【登录属性】对话框 B、打开【用户映射】页,在【映射】栏中勾选数据库“学生”前的复选框,下面的【数据库角色成员身份】列表中将会默认选中【public】项,这是一项最基本的设置。单击【确定】按钮就完成了对登录名mini 的权限设定。此时不能用mini登录,因为它还没有任何对数据库的实际操作权限。,第八章数据库,C、返回Sql Server Management Studio,在【对象资源管理器】面板中展开【数据库】|“学生”|【安全性】|【用户】分支,右击【mini】,在弹出的快捷菜单中选择【属性】命令,弹出【数据库用户】对话框,选择左侧的【
15、安全对象】页。,第八章数据库,D、单击【搜索】按钮,弹出【添加对象】对话框,点选【特定对象】单选按钮,单击【确定】按钮,弹出【选择对象】对话框。 E、单击【对象类型】按钮,弹出【选择对象类型】对话框,在【对象类型】列表中勾选【表】前的复选框。单击【确定】按钮,弹出【查找对象】对话框,如图,取消勾选表“stu”前的复选框,其他表全部选中。单击【确定】按钮返回【选择对象类型】对话框,再次单击【确定】按钮返回【数据库用户】对话框。,第八章数据库,F、在【数据库】对话框中单击【安全对象】列表中的通讯录表,在下方的权限列表会列出表的权限,在权限列表中勾选【授予】栏中的全部复选框,使得mini用户具有对这
16、个表的所有操作权限。同样的权限设置也赋予其他表。在设置每个表的【更新】权限时,【列权限】按钮会变为有效,这时可以单击【列权限】按钮,弹出【列权限】对话框,在其中可以授予用户对字段的修改权限,单击【确定】按钮返回【数据库用户】对话框,所有操作完成后,单击【确定】按钮保存所有操作。,第八章数据库,使用登录名登录 权限设置完成后,为了使新建的用户mini能登陆Sql Server2008并进行操作,下面还需要进行进一步的设置操作: A、启动并登录SQL Server Management Studio,在【对象资源管理器】面板中右击Sql Server实例“1MC”,在弹出的快捷菜单中选择【属性】命
17、令,弹出【服务器属性对话框】。选择【安全性】,在【服务器身份验证】选项组中点选【SQl Server和Windows身份验证模式】单选按钮,然后单击【确定】按钮,如果选择【Windows身份验证模式】,在用Sql server登录名进行登录时会弹出错误提示。,第八章数据库,B、启动SQL Server Management Studio,首先弹出【连接服务器】对话框,在【身份验证】下拉列表框中选择【Sql server身份验证】选项,在【登录名】文本框中输入【mini】,在【密码】文本框中输入“mini”,单击【连接】按钮进行登录,进入SQL Server Management Studio的
18、主操作界面。 C、在【对象资源管理器】面板中展开【数据库】|【学生】|【表】分支,可以看到了没有表“stu”,因为对该表没有操作权,如果查询select * from stu系统将不会执行,第八章数据库,角色,角色是为了方便用户权限管理而设计的对象。当一个用户进行权限设置时,使用上节所述的方式很直观、方便。可是实际工作中往往是有大量用户进行管理操作,此时通过角色就可以快速解决问题。 1、角色简介:各个角色是对应不同权限的,SQL Server 中有很多权限,可以把这些权限组合或单独赋予各个角色,从而使不同角色的用户权限不同。 为了便于管理数据库中的权限,SqlServer提供了若干角色,这些角
19、色是用于分组其他主体的安全主体,类似于Microsoft Windows操作系统中的组。数据库级角色的权限作用域为数据库范围。,第八章数据库,Sql Server中有两种类型的角色:服务器角色和数据库角色。 就如同一般企业管理中的角色,经理一级可以查看员工档案、财务报表等,而普通员工只能查看自己的档案以及个人工资情况等。 服务器角色主要管理SQL Server的操作,而数据库角色主要针对数据库中对象的权限操作。,第八章数据库,服务器角色:是指根据Sql Server的管理任务以及这些任务相对的重要性等级,把具有Sql server管理职能的用户划分为不同的角色来管理sql server的权限。
20、服务器角色适用于服务器范围内,其权限不能被修改,也不允许用户创建服务器角色。,第八章数据库,Sql server内置的各服务器角色如下 Sysadmin:固定服务器角色的成员可以在服务器上执行任何活动,默认情况下,Windows BuiltinAdministrators组(本地管理员组)的所有成员都是sysadmin固定服务器角色的成员。 Serveradmin:固定服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。 Securityadmin:固定服务器角色的成员可以管理登录名及其属性。他们可以赋予、拒绝和撤销服务器级别的权限,还可以赋予、拒绝和撤销数据库级别的权限,此外,还可以重
21、置Sql Server登录名密码。,第八章数据库,Proceessadmin:固定服务器角色的成员可以终止在Sql Server实例中运行的进程。 Setupadmin:固定服务器角色的成员可以添加和删除链接服务。 Dbcreator:固定服务器角色的成员可以创建、更改、删除和还原任何数据库。,第八章数据库,将用户设为服务器角色 1、启动并登录Sql ServerManagement Studio,在【对象资源管理器】面板中展开【安全性】|【登录名】分支,右击【MINI】,在弹出的快捷菜单中选择【属性】命令,弹出【登录属性】对话框。 2、选择【服务器角色】页,在【服务器角色】列表中勾选【dbc
22、reater】前的复选框,是登录名为mini具有管理数据库角色,然后单击【确定】按钮保存设置。 3、以登录名为mini登录,可以进行创建、更改、删除和还原任何数据库的操作。,第八章数据库,数据库角色:是对数据库对象操作的权限的集合。在Sql server中,数据库角色可以新建,也可以使用已经存在的数据库角色。数据库角色能为某一用户或者一组用户授予不同级别的管理访问数据库或者数据库对象的权限,这些权限是Sql server 数据库专有的。 db_owner:固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库。 db_securityadmin:固定数据库角色的成员可以修改角
23、色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级。,第八章数据库,db_datawriter:固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。 db_datareader:固定数据库角色的成员可以从所有表中读取数据。 db_denydatawriter:固定数据库角色的成员可以不能添加、删除或更改数据库内用户表中的任何数据。 db_denydatareader:固定数据库角色的成员可以不能读取数据库内用户表中的任何数据。 Public :每个数据库用户都属于public数据库角色。如果未向某个用户授予或拒绝对安全对象的特定权限,该用户将继承授予该对象的public角
24、色的权限。,第八章数据库,将用户设为数据库角色 1、启动并登录Sql ServerManagement Studio,在【对象资源管理器】面板中展开【数据库】|【学生】|【安全性】|【用户】,单击mini,在弹出的快捷菜单中选择属性命令,弹出【数据库用户】对话框。 2、【在数据库角色成员身份】列表中勾选角色db_datareader前的复选框,使登录名“mini”具有读取数据表的角色,然后单击【确定】按钮保存设置。,第八章数据库,3、以登录名“mini”登录,将可以访问原来并不能查询的“stu”,这表明对于“mini”授予了db_datareader的角色后,它就具有了读取所有数据表的权限。,
25、第八章数据库,8.2 数据库完整性及SQL Server的完整性控制,第八章数据库,8.3 数据库的并发控制及SQL Server的 并发控制机制,数据库的并发控制就是控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。,第八章数据库,第八章数据库,第八章数据库,1. 事务的概念,8.3.1 事务及并发控制的基本概念,事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。,在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION; COMMIT; ROLLBACK TRANSACTION ;,第八章数据库,例
26、定义一个事务,向借还记录表中添加记录。如果添加成功,则图书表中的库存字段就需修改。否则不操作。,BEGIN TRAN UPDATE BORROW SET RDATE=GETDATE() WHERE BOOKID=TP2003-002 AND CARDID=T0001 IF error=0 BEGIN UPDATE BOOK SET QTY=QTY+1 WHERE BOOKID=TP2003-002 COMMIT TRAN END,第八章数据库,ELSE BEGIN PRINT添加失败! ROLLBACK TRAN END,第八章数据库,事务所必须具有的重要特性包括:,2.事务的特性,(2)一致
27、性(Consistency)。 事务对数据库的作用是数据库从一个一致状态改变成另一个一致状态。所谓数据库的一致状态指的是数据库中数据满足完整性约束。,(1)原子性(Atomicity)。 “要么全做,要么不做”原则,第八章数据库,(3)隔离性(Isolation) 如果多个事务并发地执行,应象各个事务独立执行一样,一个事务的执行不能被其他事务干扰。,(4)持久性(Durability) 持久性指一个事务一旦提交,它对数据库中数据的改变就应该是持久的,即使数据库因故障而受到破坏,DBMS也应该能够恢复。,第八章数据库,3. 事务并发操作可能产生的数据不一致问题,1)丢失修改(Lost Updat
28、e) 是指事务T1与事务T2从数据库中读入同一数据并修改,事务T2提交的修改结果破坏了事务T1提交的修改结果,导致事务T1的修改被丢失。,第八章数据库,第八章数据库,2)不可重复读(Unrepeatable Read) 即事务T1两次读取同一数据项A的内容不一致。,第八章数据库,3)读“脏”数据(Dirty Read) 即事务T1读取了经过事务T2修改过的数据,但是由于事务T2因为流产而撤消了对该数据的修改,数据库恢复到事务T2执行前的状态,从而导致事务T1读取的内容与数据库中的内容不一致。,第八章数据库,第八章数据库,8.3.2 封锁及封锁协议,封锁是使事务对它要操作的数据有一定的控制能力。
29、封锁具有3个环节:,第一个环节是申请加锁,即事务在操作前要对它将使用的数据提出加锁请求;,第二个环节是获得锁,即当条件成熟时,系统允许事务对数据加锁,从而事务获得数据的控制权;,第三个环节是释放锁,即完成操作后事务放弃数据的控制权。,第八章数据库,1. 锁的类型,(1) 排它锁(Exclusive Locks,简称X锁),排它锁也称为独占锁或写锁。一旦事务T对数据对象A加上排它锁(X锁),则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁,直到T释放A上的锁为止。,第八章数据库,begin tran update table1 set A=aa where B=
30、b2 waitfor delay 00:00:30 commit tran,begin tran select * from table1 where B=b2 commit tran,第八章数据库,( 2) 共享锁(Share Locks,简称S锁)。,共享锁又称读锁。如果事务T对数据对象A加上共享锁(S锁),其他事务只能再对A加S锁,不能加X锁,直到事务T释放A上的S锁为止。,第八章数据库,begin tran select * from table1 holdlock where B=b2 waitfor delay 00:00:30 commit tran,begin tran sel
31、ect A,C from table1 where B=b2 update table1 set A=aa where B=b2 commit tran,第八章数据库,2. 封锁协议,(1) 一级封锁协议。 一级封锁协议是事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。,第八章数据库,没有丢失修改,第八章数据库,(2) 二级封锁协议。 二级封锁协议是:事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取的数据必须先加S锁,读完后即可释放S锁。,第八章数据库,不读脏数据,第八章数据库,(3) 三级封锁协议。 三级封锁协议是事务T在读取数据之前必须先对其加S锁,在要修改数据之
32、前必须先对其加X锁,直到事务结束后才释放所有锁。,第八章数据库,第八章数据库,用封锁机制解决三种数据不一致性的例子,第八章数据库,8.3.3 封锁出现的问题及解决方法,1.活锁和死锁,活锁 在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁。,第八章数据库,活锁,第八章数据库,解决活锁的方法是采用先来先服务的方法,即对要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。,死锁 多事务交错等待的僵持局面称为死锁。解决死锁有两类方法:一是采用一定措施来预防死锁的发生;二是采用一定手段定期诊断系统中有无死锁,若有则解除之。,第八章数据库,死锁,第八章数据库,begin tran u
33、pdate table1 set A=aa where B=b2 waitfor delay 00:00:30 update table2 set D=d5 where E=e1 commit tran,begin tran update table2 set D=d5 where E=e1 waitfor delay 00:00:10 update table1 set A=aa where B=b2 commit tran,第八章数据库,1) 一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。,防止死锁通常有两种方法:,2) 顺序封锁法:预先对数据对象规定
34、一个封锁顺序,所有事务都按这个顺序实行封锁。,第八章数据库,1)检测:用事务依赖图的形式检测 数据 R T1 T2 如果在事务依赖图中沿着箭头方向存在一个循环,那么系统就会出现死锁。,死锁的检测与解除,第八章数据库,死锁的解除 DBA从依赖相同资源的事务中抽出某个事务作为牺牲品,将它撤消,解除它的所有封锁,释放此事务占用的所有数据资源,分配给其他事务,使其他事务得以继续运行下去,这样就可以消除死锁。 原则:选择处理事务代价最小的事务。,第八章数据库,哈尔滨师范大学恒星学院,8.4.1备份的重要性 备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏时能够修复数据库。数据库的破坏是难以预测的
35、,因此必须采取能够还原数据库的措施。一般地,造成数据丢失的常见原因包括以下几种。,8.4 数据库恢复技术与SQL Server数据恢复机制,第八章数据库,1. 事务内部的故障 例如运算溢出、并发事务发生死锁而被选中撤消该事务、违反了某些完整性限制等。,第八章数据库,Begin tran 读帐户甲的金额balance; Balance=balance-amount;(amount转账金额) If(balance0) Then print 金额不足,不能转账; rollback; Else 写回balance 读取帐户乙的金额balance Balance=balance+amount; 写回ba
36、lance; Commit;,第八章数据库,2. 系统故障 系统故障是指造成系统停止运转的任何事件,从而使得系统必须重新启动。 如:硬件错误、操作系统故障、DBMS代码错误、突然停电,第八章数据库,3. 介质故障 介质故障指外存故障,例如磁盘损坏、磁头碰撞,瞬时磁场干扰等。,4. 计算机病毒 计算机病毒是一种人为的故障或破坏。,5. 用户操作错误 由于用户有意或无意的操作也可能删除数据库中的有用的数据或加入错误的数据,这同样会造成一些潜在的故障。,第八章数据库,哈尔滨师范大学恒星学院,8.4.2 备份和恢复体系结构 1备份类型 (1)完整备份 用户执行完全的数据库备份,包括所有对象、系统表以及
37、数据。在备份开始时,SQL Server复制数据库中的一切,而且还包括备份进行过程中所需要的事务日志部分。因此,利用完整备份还可以还原数据库在备份操作完成时的完整数据库状态。,第八章数据库,完整备份方法首先将事务日志写到磁盘上,然后创建相同的数据库和数据库对象及复制数据。 由于是对数据库的完整备份,因而这种备份类型不仅速度较慢,而且将占用大量磁盘空间。在对数据库进行完整备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略,所以尽量在一定条件下才使用这种备份类型。,第八章数据库,哈尔滨师范大学恒星学院,(2)差异备份 设计用于备份自最近一次完整备份之后发生改变的数据。因为只保存改变内容,
38、所以这种类型的备份速度比较快,可以更频繁地执行。和完整备份一样,差异备份也包括了事务日志部分,为了能将数据库还原至备份操作完成时的状态,会需要这些事务日志部分 。 自上次数据库备份后数据库中只有相对较少的数据发生了更改,如果多次修改相同的数据,则差异数据库备份尤其有效。,第八章数据库,哈尔滨师范大学恒星学院,(3)事务日志备份 事务日志备份是所有数据库修改的系列记录,用来在还原操作期间提交完成的事务以及回滚未完成的事务。在备份事务日志时,备份将存储自上一次事务日志备份后发生的改变。 当存储备份文件的磁盘空间很小或者留给进行备份操作的时间很短,常选择事务日志备份。,第八章数据库,哈尔滨师范大学恒
39、星学院,2恢复模式 (1)简单恢复模式 简单恢复模式是为了恢复到上一次备份点的数据库而设计的。使用这种模式的备份策略应该由完整备份和差异备份组成。当启用简单恢复模式时,不能执行事务日志备份。 (2)完整恢复模式 完整恢复模式设计用于需要恢复到失败点或者指定时间点的数据库。使用这种模式,所有操作被写入日志中。使用这种模式的备份策略应该包括完整、差异以及事务日志备份或仅包括完整和事务日志备份。,第八章数据库,哈尔滨师范大学恒星学院,(3)大容量日志恢复模式 大容量日志恢复模式减少日志空间的使用,但仍然保持完整恢复模式的大多数灵活性。使用这种模式,以最低限度将大容量操作和大容量加载写入日志,而且不能
40、针对逐个操作对其进行控制。如果数据库在执行一个完整或差异备份以前失败,将需要手动重做大容量操作和大容量加载。使用这种模式的备份策略应该包括完整、差异以及事务日志备份或仅包括完整和事务日志备份。,第八章数据库,大容量日志恢复模式作为完整恢复模式的备选 方案。微软推荐的最佳实践是在进行大量数据操作 时(比如索引的创建等),暂时由完整恢复模式切换 到大容量恢复模式来节省日志。,第八章数据库,哈尔滨师范大学恒星学院,查看与更改数据库恢复模式,第八章数据库,哈尔滨师范大学恒星学院,8.4.3 备份数据,一、 创建备份设备 1使用SQL Server Management Studio 创建备份设备 具体
41、步骤如下: (1)启动 SQL Server Management Studio,打开SQL Server Management Studio窗口,并使用windows或者SQL Server 身份验证建立连接。 (2)在“对象资源管理器”视图中,展开服务器的“服务器对象”文件夹,第八章数据库,第八章数据库,哈尔滨师范大学恒星学院,(3)右击“备份设备”,然后从快捷菜单中选择“新建备份设备”,打开“备份设备”对话框, (4)在“设备名称”文本框中,输入“students备份”。设置好目标文件或者保持默认值,这里必须保证SQL Server 2008所选择的硬盘驱动器上有足够的可用空间。 (5)
42、单击“确定”按钮完成创建永久备份设备。,第八章数据库,哈尔滨师范大学恒星学院,二、 管理备份设备 1查看备份设备 在SQL Server 2008系统中查看服务器上每个设备的有关信息,可以使用系统存储过程sp_helpdevice,其中包括备份设备,第八章数据库,第八章数据库,哈尔滨师范大学恒星学院,2删除备份设备 使用SQL Server Management Studio删除备份设备: 启动SQL Server Management Studio的资源管理器,展开“服务器对象”节点下的“备份设备”节点,该节点下列出了当前系统的所有备份设备。选中需要删除的备份设备“students备份”,在
43、其上右击,在弹出的快捷菜单中选择“删除”命令。单击“删除”命令,将打开“删除对象”对话框,如图所示。在右窗格中,请验证“对象名称”列中显示正确的设备名称,最后单击“确定”按钮。,第八章数据库,哈尔滨师范大学恒星学院,三、 完整备份 完整备份是指备份整个数据库,不仅包括表、视图、存储过程和触发器等数据库对象,还包括能够恢复这些数据的足够的事务日志。完整备份的优点是操作比较简单,在恢复时只需要一步就可以将数据库恢复到以前的状态。,第八章数据库,哈尔滨师范大学恒星学院,使用SQL Server Management Studio创建完整备份 (1)将“恢复模式”设置为“完整”,第八章数据库,哈尔滨师
44、范大学恒星学院,(2)右击“学生成绩管理系统”数据库,从弹出的菜单中选择“任务|备份”命令,打开“备份数据库”对话框,第八章数据库,哈尔滨师范大学恒星学院,四、 差异备份 差异数据库备份比完整数据库备份更小、更快。这会缩短备份时间,但将增加复杂程度。对于大型数据库,差异备份的间隔可以比完整数据库备份的间隔更短。这将降低工作丢失风险。,第八章数据库,哈尔滨师范大学恒星学院,使用SQL Server Management Studio创建差异数据库备份,第八章数据库,哈尔滨师范大学恒星学院,五、 事务日志备份 在SQL Server2008系统中事务日志备份有以下三种类型 纯日志备份:仅包含一定间隔的事务日志记录而不包含在日志恢复模式下执行的任何大容量更改的备份。 大容量操作日志备份:包含日志记录及由大容量操作更改的数据页的备份。不允许对大容量操作日志备份进行时间点恢复。 尾日志备份:对可能已损坏的数据库进行的日志备份,用于捕获尚未备份的日志记录。尾日志备份在出现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030含聚合物的混凝土行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030前照灯清洗系统行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030全球及中国电子签证行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 贸易公司可行性研究报告
- 10万吨岩棉生产线项目可行性研究报告
- 企业退休人员管理制度
- 2025年医学研究攻读博士学位期间拟开展的研究计划
- 江苏省南通市如皋市白蒲中学2024年八上物理期末质量检测试题含解析
- 亳州学院《文学基础写作》2023-2024学年第一学期期末试卷
- 江苏省南师附中集团2025届数学八年级第一学期期末综合测试试题含解析
- 湖北随州曾都区2024-2025学年小升初数学检测卷含解析
- 道路改扩建工程施工方案与技术措施
- 十八项核心制度解读医疗质量安全核心制度要点
- 新媒体创作汇报
- 《中国北斗卫星导航系统》白皮书
- 临床用血管理制度课件
- 2025-2030全球智能工厂MOM解决方案行业调研及趋势分析报告
- 《古巴导弹危机》课件
- 低钾血症的治疗护理
- 偏瘫足内翻的治疗
- (商务星球2024版)地理七年级上学期教学计划(新教材)
评论
0/150
提交评论