第4章 数据库管理_第1页
第4章 数据库管理_第2页
第4章 数据库管理_第3页
第4章 数据库管理_第4页
第4章 数据库管理_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 数据库管理数据库管理计算机系 胡骏4.1 数据库的存储结构数据库的存储结构数据库的存储结构分为两类: 逻辑存储结构:指数据库的若干对象 物理存储结构:数据库文件,以MDF,NDF,LDF结尾的文件4.1.1 数据库文件数据库文件1.主要数据文件(*.MDF) 用于存储数据库的启动信息和部分数据或全部数据。每个数据库只有一个主要文件。2.次要数据文件(*.NDF) 次要数据文件是主要数据文件的辅助文件,用于存储主要数据文件没有存储的剩余数据和剩余对象。4.1.1 数据库文件数据库文件l次要数据文件存在的必要性?操作系统中磁盘分区的要求。 FAT32支持单个文件最大为4G NTFS支

2、持单个文件最大为64G EXT3 支持单个文件最大为4G 有些主要数据文件大小很有可能大于4G因此必须将剩余的数据放到次要文件当中。4.1.1 数据库文件数据库文件l次要数据文件存在的必要性? 数据处理效率的要求。 假设要对某个数据库中的某个表进行修改, 假设第一种方式速度为1S,第二种方式速度为1/2S。 处理时间1s处理时间1/2s4.1.1 数据库文件数据库文件3.事务日志文件(*.LDF) 每个数据库至少有一个事务日志文件,它用于记录数据库的更新等情况。当数据库遭到破坏的时候,可以根据事务日志文件进行恢复。4.1.2 数据库文件组数据库文件组l为了便于分配和管理SQL Server 2

3、000,将多个数据库文件归为一个组,并赋予一个组名,这就是数据库文件组。l规则: 一个数据库文件只能存于一个文件组 一个文件组也只能被一个数据库使用 日志文件是独立的,不能存入任何文件组4.1.2 数据库文件组数据库文件组l把文件归入文件组实际上是提升系统性能的手段! 下图中建立两个次要文件并把它们加入到文件组中。然后在文件组上创建一个表,此时通过文件组,这个表上的数据分配到两个次要文件上,在对表中内容进行查询的时候会在两个次要文件中同时开始查询,提高查询性能。处理时间1/2s4.1.1 数据库文件组数据库文件组l数据库文件组分为三种类型: 主要文件组、用户自定义文件组,默认文件组。默认情况下

4、主要文件组就是默认文件组。4.2 创建和管理数据库创建和管理数据库l4.2.1 创建数据库 创建数据库要做的事情: 命名 设计数据库占用的存储空间 存放数据库文件的位置 创建数据库有三种方法:使用企业管理器,T-SQL语言,以及向导。 1 使用企业管理器创建数据库使用企业管理器创建数据库l见录像2 使用使用T-SQL语言创建数据库语言创建数据库CREATE DATABASE database_nameON PRIMARY ,n , ,n LOG ON ,nFOR RESTORE :=(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,

5、MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment ) ,n:=FILEGROUP filegroup_name ,n 参数说明如下: DATABASE_NAME:数据库的名称,最长为128个字符。 PRIMARY:该选项是一个关键字,指定主文件组中的文件。 LOG ON:指明事务日志文件的明确定义。 NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。 FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。 SIZE

6、:指定数据库的初始容量大小。 MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。 FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。2 使用使用T-SQL语言创建数据库语言创建数据库CREATE DATABASE TSGL1ON PRIMARY(NAME=TSGL_DATA,FILENAME=C:DATATSGL.MDF,SIZE=20,FILEGROWTH=10%)LOG ON (NAME=TSGL1_LOG,FILENAME=C:DATATSGL.LDF,SIZE=1,MAXSIZE=5,FILEGROWT

7、H=1)练习练习l创建一个名为AAA的数据库,主要文件和日志文件名称自选,主要文件起始大小3M,增长为15%,最大值为50M;日志文件起始大小1M,增长为1M,最大值为10M。3 使用模板创建数据库使用模板创建数据库l见录像4.2.2 查看数据库查看数据库4.2.2 查看数据库查看数据库4.2.3 修改数据库修改数据库1 使用企业管理器修改数据库使用企业管理器修改数据库1 使用企业管理器修改数据库使用企业管理器修改数据库1 使用企业管理器修改数据库使用企业管理器修改数据库1 使用企业管理器修改数据库使用企业管理器修改数据库2 使用使用T-SQL语句修改数据库语句修改数据库使用ALTER DAT

8、ABASE语句修改数据库 ALTER DATABASE语法形式如下: Alter database databasename add file,n to filegroup filegroupname |add log file ,n |remove file logical_file_name with delete |modify file |modify name=new_databasename |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name

9、filegroup_property|name=new_filegroup_name 2 使用使用T-SQL语句修改数据库语句修改数据库l例:使用T-SQL语言添加一个含有一个数据文件的文件组到TSGL数据库。2 使用使用T-SQL语句修改数据库语句修改数据库ALTER DATABASE TSGLAdd filegroup DATA1ALTER DATABASE TSGLAdd file(name=TSGL_DATA,FILENAME=路径,SIZE=1,MAXSIZE=50,FILEGROWTH=1)TO FILEGROUP DATA14.2.4 删除数据库删除数据库l两种方法: 1.在企业

10、管理器中,右击要删除的数据库,从快捷菜单中选择“删除”。 2.T-SQL语言 DROP DATABASE DATABASE_NAME小技巧之附加数据库小技巧之附加数据库l同学们在使用数据库的时候可能遇到这种问题: 自己在某台电脑上好不容易输入的数据,由于下课而带不走,下次做实验的时候还是要再输入一遍。为了节省大家的体力,在这里介绍一种附加数据库的方法供大家使用。 具体内容见录像4.3 数据库备份数据库备份4.3.1概述 数据库的备份还原为存储在SQL Server数据库中的关键数据提供重要的保护手段。可以从多种故障中恢复数据库。备份数据库的前期工作备份数据库的前期工作l根据客户对数据库的需求,

11、制定数据库备份策略。1.分析可用性和恢复要求2.制定灾难恢复计划3.选择恢复模型分析可用性和恢复要求分析可用性和恢复要求1.您的可用性要求是什么?每天的什么时间数据库必须处于联机状态?2.服务器故障时间将对公司造成多大的经济损失?3.一旦发生灾难,如因火灾丢失服务器,可接受的故障时间是多长?(一般来说48小时以内) 4.重新创建丢失的数据的难易程度如何?制定灾难恢复计划制定灾难恢复计划1.硬件获取2.相关数据库管理人员的联系3.安装操作系统以及数据库系统,还原MASTER数据库。选择恢复模型选择恢复模型l恢复模型分为三种,分别为: 简单模型、完全模型、大容量日志模型步骤三:选择恢复模型步骤三:

12、选择恢复模型怎样在怎样在SQL企业管理其中设定还企业管理其中设定还原模型原模型怎样在怎样在SQL企业管理其中设定还企业管理其中设定还原模型原模型恢复模型的选择恢复模型的选择A.简单恢复(Simple Recovery) 所谓简单恢复就是指在进行数据库恢复时仅使用了数据库备份或差异备份,而不涉及事务日志备份。 恢复模型的选择恢复模型的选择B.完全恢复(Full Recovery) 完全数据库恢复模式是指通过使用数据库备份和事务日志备份将数据库恢复到发生失败的时刻,因此几乎不造成任何数据丢失,这成为对付因存储介质损坏而数据丢失的最佳方法。 恢复模型的选择恢复模型的选择C.大容量日志记录恢复 大容量

13、日志记录恢复在性能上要优于简单恢复和完全恢复模式,它能尽最大努力减少批操作所需要的存储空间。四种备份方式四种备份方式1.完全数据库备份2.事务日志备份3.差异备份4.文件和文件组备份(完全)数据库备份(完全)数据库备份l实际上备份数据库过程就是首先将事务日志写到磁盘上,然后根据事务创建相同的数据库和数据库对象以及拷贝数据的过程。l备份速度慢,最好只在晚间进行,备份时最好不要进行其他操作,影响备份速度。备份过程中的任何操作都不会备份。l恢复速度也较慢(完全)数据库备份(完全)数据库备份创建数据库并执行创建数据库并执行完全数据库备份完全数据库备份完全数据库备份完全数据库备份 完全数据库备份完全数据

14、库备份 星期日星期日 星期一星期一 星期二星期二 数据数据 日志日志 数据数据 日志日志 数据数据 日志日志 事务日志备份事务日志备份 l事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。l备份时间较短l恢复时间较长,需要完整数据库备份。事务日志备份事务日志备份星期日星期日 星期一星期一 完全数据库备份完全数据库备份 完全数据库备份完全数据库备份 日志日志 日志日志 日志日志 LogLog数据数据 日志日志 数据数据 日志日志 中间的任何中间的任何时间点都可时间点都可以被恢复以被恢复差异备份差异备份l差异备份是指将最近一次

15、数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。l备份和恢复时间较短l缺点:无法提供失败点的数据恢复。差异、数据库、事务日志混合备差异、数据库、事务日志混合备份方案份方案星期一星期一 星期二星期二 完全数据库备份完全数据库备份 差异备份差异备份 差异备份差异备份 日志日志数据数据日志日志日志日志日志日志日志日志日志日志日志日志 LogLogDataData 文件和文件组备份文件和文件组备份l可以备份和还原数据库中的个别文件。这种备份可以只还原已损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。例如,如果数据库由几个位于不同磁盘上的文件组成,当其中一个磁盘

16、发生故障时,只需还原发生了故障的磁盘上的文件。文件和文件组备份文件和文件组备份星期一星期一 星期二星期二 星期三星期三 星期四星期四 数据数据文件文件1 1数据数据文件文件3 3数据数据文件文件2 2完全数据库备份完全数据库备份 日志日志数据数据日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志总结总结1:三种备份之间的关系:三种备份之间的关系l(完全)数据库备份是差异备份的基础,若没有完全备份则进行差异备份无效!l差异备份和事务日志备份的速度都很快,但是他们之间的主要差异是事务日志备份含有上次备份以来的所有修改,而差异备份只含有最后一次的修改。一天中应用程序访问数据库的时间有多

17、长?如果存在一个可预测的非高峰时段,则建议您将完整数据库备份安排在此时段。 更改和更新可能发生的频率如何? 如果更改经常发生,请考虑下列事项:在简单恢复模式下,请考虑将差异备份安排在完整数据库备份之间。差异备份只能捕获自上次完整数据库备份之后的更改。 在完整恢复模式下,应安排经常的日志备份。在完整备份之间安排差异备份可减少数据还原后需要还原的日志备份数,从而缩短还原时间。l可能只是更改数据库的小部分内容,还是需要更改数据库的大部分内容? 对于更改集中于部分文件或文件组的大型数据库,部分备份和/或文件备份非常有用。总结总结2:成熟的备份方案:成熟的备份方案选择大容量日志恢复模型1.首先有规律地进

18、行数据库备份,比如每晚进行备份;2.其次以较小的时间间隔进行差异备份,比如三个小时或四个小时;3.最后在相临的两次差异备份之间进行事务日志备份,可以每二十或三十分钟一次。真实的案例真实的案例l 公司备份方案如下:星期天早晨8:00: 完整数据库备份每隔1小时 : 事务日志备份星期一早晨8:00: 差异备份每隔1小时 : 事务日志备份星期二早晨8:00: 差异备份每隔1小时 : 事务日志备份星期天早晨8:00: 完整数据库备份4.3.2 创建备份设备创建备份设备1.利用企业管理创建(见录像)2.利用T-SQL语言创建使用使用T-SQL语言创建备份设备语言创建备份设备 SQL Server 中,可

19、以使用存储过程sp_addumpdevice语句创建备份设备,其语法形式如下: sp_addumpdevice device_type ,logical_name,physical_name 其中,device_type表示设备类型,其值可为disk和tape。 logical_name表示设备的逻辑名称。physical_name表示设备的实际名称。使用使用T-SQL语言创建备份设备语言创建备份设备 在磁盘上创建了一个备份设备。 EXEC sp_addumpdevice disk, PUBS数据库备份, C: PUBS数据库备份.bak 练习练习l创建一个名称为AAA的备份设备4.3.3 备

20、份数据库的操作备份数据库的操作1.在企业管理器中备份 录像2.利用T-SQL语言备份利用利用T-SQL语言备份数据库语言备份数据库1.(完全)数据库备份 BACKUP DATABASE database_nameTO ,.n 2.差异备份 BACKUP DATABASE database_nameTO ,.n WITH DIFFERENTIAL 利用利用T-SQL语言备份数据库语言备份数据库3.事务日志备份 BACKUP LOG database_name TO ,.n 4.文件和文件组备份 BACKUP DATABASE database_name ,.n TO ,.n 例子:例子:1.完全备份:Backup

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论