南京晓庄学院《数据库原理与应用》课程实验报告实验二数据库的创建、管理、备份及还原实验所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改数据库的基本方法;(2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。
(3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方法。
2.实验要求(1)使用SQL Server Management Studio创建“教学管理”数据库。
(2)使用SQL Server Management Studio修改和删除“教学管理”数据库。
(3)使用Transact-SQL语句创建“教学管理”数据库。
(4)使用Transact-SQL语句修改和删除“教学管理”数据库。
(5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server ManagementStudio对数据库“教学管理”进行备份和还原。
(6)SQL Server 2005数据库文件的分离与附加。
(7)按要求完成实验报告3.实验步骤、结果和总结实验步骤/结果(1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。
一、使用SQL Server Management Studio创建数据库的步骤如下:a.在磁盘上新建一个目录,如在C:盘中新建“MyDB“目录b.在wimdows系统“开始“菜单中,依次选取”程序->Microsoft SQL Server 2005->SQL Management Studio” ,打开SQL Server Management Studio并连接到SQL Server 2005服务。
c.在“对象资源管理器“中单击SQL Server服务器前面的“+”号或直接双击数据库名称,展开该服务器对象资源树形结构,然后右键点击“数据库”文件夹,在弹出的快捷菜单上选择“新建数据库”选项d.在打开的“新建数据库”对话窗口中输入数据库名称“教学管理”,在该窗口中“数据库文件”设置部分可以修改数据文件和日志文件的文件名、初始大小、保存路径等。
e.单击“确定”按钮,创建“教学管理”数据库。
二、使用SQL Server Management Studio修改和删除“教学管理”数据库1、使用SQL Server Management Studio图形界面直接修改“教学管理”数据库名为“TM”a.在快捷菜单中选择“属性”项进入使用3.使用SQL Server Management Studio图形界面删除数据库在第一幅图中的快捷菜单中选择“删除”项(2) 总结在实验中为创建、修改和删除“教学管理”数据库所编写的各条T-SQL语句及其完成了什么功能。
1、创建:CREATE DATABASE教学管理ON PRIMARY(Name=JXGL,FileName='C:\MyDB\JXGL_Data.mdf',Size=3MB,MaxSize=100MB,filegrowth=1MB)LOG ON(Name=JXGL_Log,FileName='C:\MyDB\JXGL_Log.ldf',Size=1MB,MaxSize=UNLIMITED,FileGrowth=10%);点击执行2、使用Transact-SQL语句修改和删除“教学管理”数据库增加数据文件。
例如,在数据库“教学管理”中增加数据文件JXGL_EXT,需要在数据库查询编辑器中输入代码:在增加数据文件之前,要先获得修改权限,即alter database数据库句法,然后再添加数据文件。
具体参数也有5项,与创建数据文件相同,在添加数据文件项中,name项是必不可少的。
编写T—SQL语句,删除“教学管理”数据库中的数据文件或日志文件,注意不能删除非空文件。
如删除刚添加到数据库中的数据文件“jxgl_ext1”实例代码如下:ALTER DATABASE 教学管理REMOVEFILE jxgl_ex1——删除数据库文件时应指定其逻辑名称SQL语句删除数据库 删除了数据库“教学管理”drop database 教学管理检查所输入SQL语句有无语法错,确认正确后, 按F5键或单击“执行”按钮,这样就删除了数据库“教学管理”。
(3)总结使用SQL Server Management Studio备份与还原数据库的几种方法。
1、创建“备份设备”2、对数据库“TM”进行备份1)打开SQL Server Management Studio,右击需要备份的数据库,从弹出的快捷菜单中依次选择【任务】--【备份】命令,打开【备份数据库】对话框。
如下图所示:(2)在【备份数据库】对话框的【常规】页面中根据需要选择需要备份的【数据库】,在本示例选择备份数据库.接下来还可以选择【备份类型】、备份集的名称等相关参数。
默认情况下,备份操作会所数据库中的数据备份到SQL SERVER 数据库的默认工作目录(3)切换【备份数据库】对话框中的【选项】页面。
在此页面中,可以根据需要进行相应的设置。
例如,可以根据需要将现有数据备分到现有的备份集中,也可使用数据库中的当前数据覆盖现有的备份集。
除此之外。
还可以设置备份操作的可靠性选项。
单击【确定】按钮,即可执行备份操作。
一旦备份操作结束。
SQL SERVER 数据库系统将弹出名为Microsoft SQL Server Management Studio 的对话框,提示备份已成功完成。
3、使用“TM ”数据库完整备份还原数据库到备份完成时点的数据库状态通过 SQL Server Management Studio 还原数据库使用 SQL Server Management Studio 进行数据还原操作的步骤如下所示:(1) 右击【数据库】节点,从弹出的快捷菜单中选择【还原数据库】命令,打开【还原数据库】对话框,如下图所示:在[还原数据库]对话框中的[常规]页面中,选择[目标]下拉列框中的[源数据库]选项。
[选择用于还原的备份集]列表框中将显示用于还原TM 数据库的可用备份集,备份集,且[目标数据库]将会被同时设置为TM在“还原数据库”的窗口中选择“选项”页,在“还原选项”选项区域中选择“覆盖现有数据库”复选框,单击确定。
还原操作完成后,打开“TM ”数据库,可以看到TM 数据库已进行还原4.实验思考:①SQL Server 2005物理数据库包含了哪能几种类型的文件以及它们的作用?SQL Server2005数据库具有三种类型的文件:主数据文件主数据文件是数据库的起点,指向数据库中的其他文件。
每个数据库都有一个主数据文件。
主数据文件的推荐文件扩展名是.mdf。
它将数据存储在表和索引中,包含数据库的启动信息,还包括一些系统表,这些表记载数据库对象及其他文件的位置信息。
次要数据文件除主数据文件之外的所有其他数据文件都是次要数据文件。
某些数据库可能不含有任何次要数据文件。
次要数据文件的推荐文件扩展名是.ndf。
日志文件SQL Server具有事物功能,日志文件包含着用于恢复数据库的所有日志信息。
每个数据库必须至少有一个日志文件,当然也可以有多个,建立数据库时,SQL Server会自动建立数据库的日志文件。
日志文件的推荐文件扩展名是.ldf。
②数据库备份与转储包含那些原理?备份(backup)实际就是数据的副本,备份的目的是为了防止不可预料的数据丢失和应用错误。
转储(restore)是指当数据文件或控制文件出现损坏时,将已备份的副本文件还原到原数据库的过程数据库转存实现热备份恢复功能。
通过修改初始化文件里的路径,实现转存。
启动到MOUNT状态下,将所有数据文件和日志文件通过ALTER DATABASE RENAMEFILE '原始路径/名称' TO '当前路径/名称';然后将数据库打开,重建TEMP tablespace即可。
数据转储是数据库恢复中采用的基本技术。
所谓转储即dba定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。
当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:在系统中无运行事务时进行的转储操作。
静态转储简单,但必须等待正运行的用户事务结束才能进行。
同样,新的事务必须等待转储结束才能执行。
显然,这会降低数据库的可用性。
动态转储:指转储期间允许对数据库进行存取或修改。
动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。
但是,转储结束时后援副本上的数据并不能保证正确有效。
因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。
这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。
增量转储则指每次只转储上一次转储后更新过的数据。
从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。
但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
③如果数据或日志文件非空不能删除,查找SQL Server中缩小文件大小的方法。
在SQL Server中,所有对数据库执行的更新操作都会记录在数据库的事务日志文件中,除非将数据库设为可自动收缩的或手动的对数据库进行了收缩,否则事务日志文件将一直增长,直到达到事先设定的日志文件增长上限或用尽所有可用的磁盘空间。
如果当前的数据库文件或日志文件过大,可以使用以下两个命令对其进行收缩:DBCC SHRINKDATABASE:收缩指定数据库的所有数据和日志文件的大小DBCC SHRINKFILE:收缩数据库的某个指定数据或日志文件的大小这两个命令可以释放数据库中的空闲空间,并将数据库或指定的数据库文件收缩到指定的大小,但收缩后的数据文件或日志文件的大小不会小于文件中现存的有效数据所占空间的大小。
在使用以上命令收缩日志文件的时候需要注意,已写入数据库但未被截断的事务日志记录是不会被收缩的,因为虽然这部分日志记录的信息已经写入数据库文件,但在使用事务日志备份进行数据库还原的时候,还将用到其中的信息。
对于使用简单恢复模型的数据库,事务日志会在每次处理检查点(CheckPoint)时自动被截断。
对于使用完全恢复模型或大容量日志记录恢复模型的数据库,事务日志只有在执行日志备份(BACKUP LOG)时才会被截断,这时事务日志中记录的信息被写入事务日志备份文件,而它们所占用的这部分空间被标记为可用(即被截断)。