《第三次课:第四讲数据库的操作.ppt》由会员分享,可在线阅读,更多相关《第三次课:第四讲数据库的操作.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四第四讲 数据数据库操作操作内容提要内容提要数据库的存储结构数据库的存储结构4 4.1.1创建数据库创建数据库4 4.2 2修改数据库修改数据库4 4.3 3删除数据库删除数据库4 4.4 4备份数据库备份数据库4 4.5 5恢复数据库恢复数据库4 4.6 6分离数据库和附加数据库分离数据库和附加数据库4 4.7 72 2数据库的存储结构是指数据库文件在磁盘数据库的存储结构是指数据库文件在磁盘上如何存储。上如何存储。SQL ServerSQL Server中每个数据库由一组操作系统中每个数据库由一组操作系统文件组成。文件组成。数据库中的所有数据、对象和数据库操作数据库中的所有数据、对象和数据
2、库操作日志都存储在这些文件中。日志都存储在这些文件中。4.1 数据数据库的存的存储结构构3 34.1.1 数据数据库文件文件v数据库文件可以分为三类数据库文件可以分为三类:主数据库文件主数据库文件次数据库文件次数据库文件事务日志文件事务日志文件1.1.主数据库文件主数据库文件(Primary Database file)(Primary Database file)v 每个数据库有且仅有一个主数据库文件,主每个数据库有且仅有一个主数据库文件,主数据库文件用来存储数据库的启动信息和部分或数据库文件用来存储数据库的启动信息和部分或全部数据。一个数据库可以有全部数据。一个数据库可以有1 1到多个数据
3、库文到多个数据库文件,其中只有一个文件为主数据库文件。件,其中只有一个文件为主数据库文件。v 主数据库文件的文件扩展名为主数据库文件的文件扩展名为mdfmdf。4 44.1.1 数据数据库文件文件v2.2.次数据库文件次数据库文件(Secondary Database File)(Secondary Database File)v 用于存储主数据库文件中未存储的剩余数据用于存储主数据库文件中未存储的剩余数据和数据库对象。一个数据库可以没有次数据库文和数据库对象。一个数据库可以没有次数据库文件,也可以有多个次数据库文件。件,也可以有多个次数据库文件。v 次数据库文件的文件扩展名为次数据库文件的文
4、件扩展名为ndfndf。v3.3.事务日志文件事务日志文件(TranscationTranscation Log File)Log File)v 用于存储数据库的更新情况等事务日志信息。用于存储数据库的更新情况等事务日志信息。当数据库损坏时,可以使用事务日志文件恢复数当数据库损坏时,可以使用事务日志文件恢复数据库。一个数据库可以有据库。一个数据库可以有1 1到多个事务日志文件。到多个事务日志文件。v 事务日志文件的扩展名为事务日志文件的扩展名为ldfldf。5 54.1.1 数据数据库文件文件v1.1.逻辑文件名逻辑文件名v 逻辑文件名是在所有逻辑文件名是在所有Transact-SQLTran
5、sact-SQL语句中语句中引用文件时所使用的名称。逻辑文件名必须遵引用文件时所使用的名称。逻辑文件名必须遵守守SQL ServerSQL Server标识符的命名规则,且对数据库标识符的命名规则,且对数据库必须是唯一的。必须是唯一的。v2.2.物理文件名物理文件名v 数据库文件在物理磁盘上的存储路径及文数据库文件在物理磁盘上的存储路径及文件名称构成数据库文件的物理名称,物理文件件名称构成数据库文件的物理名称,物理文件名必须遵从操作系统文件名的命名规则。名必须遵从操作系统文件名的命名规则。6 64.1.1 数据数据库文件文件v例如例如:逻辑文件名逻辑文件名物理文件名物理文件名My_Dbfile
6、1My_Dbfile1e:sql_datapri_file1.mdfe:sql_datapri_file1.mdfMy_Dbfile2My_Dbfile2e:sql_datapri_file2.ndfe:sql_datapri_file2.ndfMy_Dbfile3My_Dbfile3e:sql_datapri_file3.ndfe:sql_datapri_file3.ndfMy_Logfile1My_Logfile1e:sql_loglog_file1.ldfe:sql_loglog_file1.ldfMy_Logfile2My_Logfile2e:sql_loglog_file2.ldfe
7、:sql_loglog_file2.ldf7 74.1.2 数据数据库文件文件组v 为了便于分配和管理,为了便于分配和管理,SQL ServerSQL Server允许将多允许将多个文件归纳为同一组,并赋予此组一个名称,这个文件归纳为同一组,并赋予此组一个名称,这就是文件组。就是文件组。v1.1.主文件组主文件组(Primary File Group)(Primary File Group)v 所有数据库都至少包含一个主文件组,主文所有数据库都至少包含一个主文件组,主文件组中包含了所有的系统表,当建立数据库时,件组中包含了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其他文
8、主文件组包括主数据库文件和未指定组的其他文件。件。v2.2.次文件组次文件组(Secondary File Group)(Secondary File Group)v 数据库还可以包含用户定义的文件组,也称数据库还可以包含用户定义的文件组,也称次文件组。次文件组。8 84.1.2 数据数据库文件文件组v3.3.默认文件组默认文件组v 每个数据库中都有一个文件组作为默认文件每个数据库中都有一个文件组作为默认文件组运行。当组运行。当SQL ServerSQL Server给创建时没有为其指定文给创建时没有为其指定文件组的表或索引分配页时,将从默认文件组中进件组的表或索引分配页时,将从默认文件组中进
9、行分配。行分配。v 一次只能有一个文件组作为默认文件组。默一次只能有一个文件组作为默认文件组。默认文件组可以由用户来指定。认文件组可以由用户来指定。如果没有指定默认如果没有指定默认文件组,则主文件组是默认文件组。文件组,则主文件组是默认文件组。9 94.1.2 数据数据库文件文件组文件组中的每个文件通常建立在不同的硬盘驱动文件组中的每个文件通常建立在不同的硬盘驱动器上,这样可减轻单个磁盘驱动器的存储负载,器上,这样可减轻单个磁盘驱动器的存储负载,提高数据库的存储效率,从而提高系统性能。提高数据库的存储效率,从而提高系统性能。SQL Server 2000SQL Server 2000在没有文件
10、组时也能有效地工在没有文件组时也能有效地工作,因此许多系统不需要指定次文件组。在这种作,因此许多系统不需要指定次文件组。在这种情况下,所有文件都包含在主文件组中。情况下,所有文件都包含在主文件组中。事务日志文件是独立的,不能作为任何文件组的事务日志文件是独立的,不能作为任何文件组的成员成员。1010数据数据库文件文件和和文件文件组的关系的关系数数据据库库数数数数据据据据文文文文件件件件日日日日志志志志文文文文件件件件主文件组主文件组主文件组主文件组(1 1个)个)个)个)次文件组次文件组次文件组次文件组(0 0多个)多个)多个)多个)逻辑文件名逻辑文件名逻辑文件名逻辑文件名1 1逻辑文件名逻辑
11、文件名逻辑文件名逻辑文件名2 2逻辑文件名逻辑文件名逻辑文件名逻辑文件名n n物理文件名物理文件名物理文件名物理文件名1 1物理文件名物理文件名物理文件名物理文件名2 2物理文件名物理文件名物理文件名物理文件名n n逻辑文件名逻辑文件名逻辑文件名逻辑文件名1 1逻辑文件名逻辑文件名逻辑文件名逻辑文件名2 2逻辑文件名逻辑文件名逻辑文件名逻辑文件名n n物理文件名物理文件名物理文件名物理文件名1 1物理文件名物理文件名物理文件名物理文件名2 2物理文件名物理文件名物理文件名物理文件名n n主数据文件主数据文件11114.2 创建数据建数据库创建数据库的过程实际上是确定数据库的创建数据库的过程实际
12、上是确定数据库的名称名称、设计数据库所设计数据库所占用的存储空间占用的存储空间和文件的和文件的存放位存放位置置。每个新创建的数据库都包含以下数据库对象:每个新创建的数据库都包含以下数据库对象:关系图、表、视图、存储过程、用户、角色、关系图、表、视图、存储过程、用户、角色、规则、默认、用户定义的数据类型和用户定义规则、默认、用户定义的数据类型和用户定义的函数。的函数。创建数据库的途径创建数据库的途径:两个途径两个途径企业管理器企业管理器Transact-SQL语句语句“数据库属性数据库属性”对话框对话框向导向导12124.2.1 使用向使用向导创建数据建数据库菜单:工具菜单:工具向导向导创建数据
13、库向导创建数据库向导 工具栏工具栏:13134.2.1 使用向使用向导创建数据建数据库14144.2.1 使用向使用向导创建数据建数据库15154.2.1 使用向使用向导创建数据建数据库数据库文件数据库文件初始大小初始大小数据库文件数据库文件逻辑名称逻辑名称物理文件名将默认为:逻辑文件名物理文件名将默认为:逻辑文件名.MDF16164.2.1 使用向使用向导创建数据建数据库按百分比增长:发生增长按百分比增长:发生增长时文件大小百分比时文件大小百分比17174.2.1 使用向使用向导创建数据建数据库事务日志文事务日志文件初始大小件初始大小事务日志文事务日志文件逻辑名称件逻辑名称物理文件名将默认为
14、:逻辑文件名物理文件名将默认为:逻辑文件名.LDF18184.2.1 使用向使用向导创建数据建数据库19194.2.1 使用向使用向导创建数据建数据库20204.2.2 使用使用“数据数据库库属性属性”对话对话框框创创建数据建数据库库菜菜单单操操作作:右右击击数数据据库库文文件件夹夹或或在在其其下下属属任任一一数据库图标,选择数据库图标,选择“新建数据库新建数据库”选项。选项。工具栏操作工具栏操作:21214.2.2 使用使用“数据数据库库属性属性”对话对话框框创创建数据建数据库库单击数据文件选项卡,设置其中的选项。单击数据文件选项卡,设置其中的选项。在在这里可以这里可以直接定义新直接定义新的
15、文件组的文件组22224.2.2 使用使用“数据数据库库属性属性”对话对话框框创创建数据建数据库库单击事务日志选项卡,设置其中的选项。单击事务日志选项卡,设置其中的选项。23234.2.3 使用使用CREATE DATABASE语句句创建数据建数据库格式:格式:CREATE DATABASE 数据库名称数据库名称 ON ,.n ,.n LOG ON ,.n 24244.2.3 使用使用CREATE DATABASE语句句创建数据建数据库参数说明:参数说明:数据库名称数据库名称:新数据库的名称。新数据库的名称。ON关键字关键字:其后的参数指定用来存储数据库数其后的参数指定用来存储数据库数据的磁盘
16、文件(数据文件)。据的磁盘文件(数据文件)。:定义主文件组的数据文件。定义主文件组的数据文件。:定义用户文件组及其文件。定义用户文件组及其文件。LOG ON:指定日志文件。其后的指定日志文件。其后的用用以定义日志文件。如果没有指定以定义日志文件。如果没有指定LOG ON,将将自动创建一个日志文件,该文件使用系统生成自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的名称,大小为数据库中所有数据文件总大小的的25%。25254.2.3 使用使用CREATE DATABASE语句句创建数据建数据库和和进一步定义如下:进一步定义如下::=PRIMARY(NAME=逻辑文
17、件名逻辑文件名,FILENAME=物理文件名物理文件名,SIZE=初始大小初始大小 ,MAXSIZE=最大限制最大限制|UNLIMITED ,FILEGROWTH=增长量增长量 ),.n:=FILEGROUP 文件组名称文件组名称 ,.n 26264.2.3 使用使用CREATE DATABASE语句句创建数据建数据库【例例1】设已经在设已经在e盘建立了两个文件夹:盘建立了两个文件夹:e:sql_data和和e:sql_log,分别用来存放数据库文件和事务日分别用来存放数据库文件和事务日志文件,使用志文件,使用CREATE DATABASE语句创建一个语句创建一个company数据库数据库:C
18、REATE DATABASE company -创建数据库创建数据库ON PRIMARY -定义在主文件组上的文件定义在主文件组上的文件(NAME=company_data,-逻辑名称逻辑名称FILENAME=e:sql_datacompany.mdf,-物理物理名名称称SIZE=10,-初始大小为初始大小为10MBMAXSIZE=unlimited,-最大限制为无限大最大限制为无限大FILEGROWTH=10%)-增长速度为增长速度为10%27274.2.3 使用使用CREATE DATABASE语句句创建数据建数据库LOG ON -定义事务日志文件定义事务日志文件(NAME=company
19、_log,-逻辑名称逻辑名称FILENAME=e:sql_logcompany.ldf,-物理名物理名称称SIZE=1,-初始大小为初始大小为1MBMAXSIZE=5,-最大限制为最大限制为5MBFILEGROWTH=1)-增长速度为增长速度为1MB28284.2.3 使用使用CREATE DATABASE语句句创建数据建数据库【例例2】创建一个雇员信息数据库,包含两个数据文创建一个雇员信息数据库,包含两个数据文件和两个事务日志文件。件和两个事务日志文件。CREATE DATABASE employeesON PRIMARY -定义在主文件组上的文件定义在主文件组上的文件(NAME=emplo
20、yee1,-主数据文件逻辑名称主数据文件逻辑名称FILENAME=e:sql_dataemployee1.mdf,-物理名物理名称称SIZE=10,-主数据文件初始大小为主数据文件初始大小为10MBMAXSIZE=unlimited,-最大限制为无限大最大限制为无限大FILEGROWTH=10%),-增长速度为增长速度为10%29294.2.3 使用使用CREATE DATABASE语句句创建数据建数据库(NAME=employee2,-次数据文件逻辑名称次数据文件逻辑名称FILENAME=e:sql_dataemployee2.ndf,-物理名物理名称称SIZE=20,-次数据文件初始大小为
21、次数据文件初始大小为20MBMAXSIZE=100,-次数据文件最大限制为次数据文件最大限制为100MBFILEGROWTH=1)-次数据文件增长速度为次数据文件增长速度为1MBLOG ON -定义事务日志文件定义事务日志文件(NAME=employeelog1,-事务日志文件逻辑名文件事务日志文件逻辑名文件FILENAME=e:sql_logemployeelog1.ldf,-物理名物理名称称SIZE=10,-初始大小为初始大小为50MBMAXSIZE=50,-最大限制为最大限制为50MBFILEGROWTH=1),-增长速度为增长速度为1MB30304.2.3 使用使用CREATE DAT
22、ABASE语句句创建数据建数据库(NAME=employeelog2,-事务日志逻辑文件名事务日志逻辑文件名FILENAME=e:sql_logemployeelog2.ldf,-物理名物理名称称SIZE=10,-初始大小为初始大小为10MBMAXSIZE=50,-最大限制为最大限制为50MBFILEGROWTH=1)-增长速度为增长速度为1MB31314.2.3 使用使用CREATE DATABASE语句句创建数据建数据库【例例3】创建创建test数据库,包含一个主文件组和两个数据库,包含一个主文件组和两个次文件组。次文件组。CREATE DATABASE testON PRIMARY -定
23、义在主文件组上的文件定义在主文件组上的文件(NAME=pri_file1,FILENAME=e:sql_datapri_file1.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=15%),(NAME=pri_file2,FILENAME=e:sql_datapri_file2.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=15%),32324.2.3 使用使用CREATE DATABASE语句句创建数据建数据库FILEGROUP Grp1-定义在次文件组定义在次文件组Grp1上的文上的文件件(NAME=Grp1_file1,FILENAME=e:sq
24、l_data Grp1_file1.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=Grp1_file2,FILENAME=e:sql_data Grp1_file2.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5),33334.2.3 使用使用CREATE DATABASE语句句创建数据建数据库FILEGROUP Grp2-定义在次文件组定义在次文件组Grp2上的文上的文件件(NAME=Grp2_file1,FILENAME=e:sql_data Grp2_file1.ndf,SIZE=10,MAXSIZE=50,FILEGROW
25、TH=5),(NAME=Grp2_file2,FILENAME=e:sql_data Grp2_file2.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON -定义事务日志文件定义事务日志文件(NAME=test_log,FILENAME=e:sql_logtest_log.ldf,SIZE=5,MAXSIZE=25,FILEGROWTH=5)34344.2.3 使用使用CREATE DATABASE语句句创建数据建数据库 执行执行CREATE DATABASE语句后,可以在企业管语句后,可以在企业管理器中查看创建数据库的结果。方法是理器中查看创建数据库的结
26、果。方法是:展开数据库文件夹展开数据库文件夹右击的数据库右击的数据库选择选择“属性属性”,打开数据库属性对话框,从各选项卡上可以查看所打开数据库属性对话框,从各选项卡上可以查看所创建数据库的各种属性。创建数据库的各种属性。35354.2.3 使用使用CREATE DATABASE语句句创建数据建数据库 例如例如,test数据库的属性对话框数据库的属性对话框:36364.2.3 使用使用CREATE DATABASE语句句创建数据建数据库创建数据库需要注意以下几点:创建数据库需要注意以下几点:每个数据库都有一个所有者,可以在该数据库中执每个数据库都有一个所有者,可以在该数据库中执行某些特殊的活动
27、,数据库被创建之后,创建数据行某些特殊的活动,数据库被创建之后,创建数据库的用户自动成为该数据库的所有者。默认情况下,库的用户自动成为该数据库的所有者。默认情况下,只有系统管理员和数据库所有者可以创建数据库,只有系统管理员和数据库所有者可以创建数据库,也可以授权其他用户创建数据库。也可以授权其他用户创建数据库。在每个在每个SQL Server实例下,最多只能创建实例下,最多只能创建32767个个数据库。数据库。所创建的数据库名称必须符合标识符的命名规则。所创建的数据库名称必须符合标识符的命名规则。要让日志文件能够发挥作用,通常将数据文件和日要让日志文件能够发挥作用,通常将数据文件和日志文件存储
28、在不同的物理磁盘上。志文件存储在不同的物理磁盘上。37374.3 修改数据修改数据库 创建数据库之后,可以在企业管理器中利用数据创建数据库之后,可以在企业管理器中利用数据库属性对话框直接修改创建时的某些设置,或修改库属性对话框直接修改创建时的某些设置,或修改创建时无法设置的属性,也可以使用创建时无法设置的属性,也可以使用Transcat-SQL语言的语言的ALTER DATABASE语句修改数据库。语句修改数据库。38384.3.1 使用企使用企业管理器修改数据管理器修改数据库展开数据库文件夹展开数据库文件夹右击数据库名称右击数据库名称选择选择“属性属性”命令,打开数据库属性对话框。在该对话框
29、上有命令,打开数据库属性对话框。在该对话框上有多个选项卡,可以在各选项卡上查看或修改数据库多个选项卡,可以在各选项卡上查看或修改数据库文件及其他属性。文件及其他属性。39394.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库格式:格式:ALTER DATABASE数据库名称数据库名称 ADD FILE ,.n TO FILEGROUP 文件组名称文件组名称|ADD LOG FILE ,.n|REMOVE FILE 逻辑文件名逻辑文件名|ADD FILEGROUP文件组名称文件组名称|REMOVE FILEGROUP文件组名称文件组名称|MODIFY FILE|MODIFY
30、 NAME=新数据库名新数据库名|MODIFY FILEGROUP 文件组名称文件组名称 文件组属性文件组属性|NAME=新文件组名称新文件组名称 43434.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库参数说明:参数说明:数据库名称:是要更改的数据库的名称。数据库名称:是要更改的数据库的名称。ADD FILE:指定要添加文件。该文件由后面的指定要添加文件。该文件由后面的指定。指定。定义如下:定义如下::=(NAME=逻辑文件名逻辑文件名 ,NEWNAME=新逻辑文件名新逻辑文件名 ,FILENAME=物理文件名物理文件名 ,SIZE=大小大小 ,MAXSIZE=最大限
31、制最大限制|UNLIMITED ,FILEGROWTH=增长量增长量 )44444.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库TO FILEGROUP:表示要将指定的文件添加到其表示要将指定的文件添加到其后指定的的文件组中。后指定的的文件组中。ADD LOG FILE:表示要将其后指定的日志文件表示要将其后指定的日志文件添加到指定的数据库中。添加到指定的数据库中。REMOVE FILE:从数据库系统表中删除文件描从数据库系统表中删除文件描述并删除物理文件。述并删除物理文件。ADD FILEGROUP:指定要添加文件组。指定要添加文件组。REMOVE FILEGROUP
32、:从数据库中删除文件从数据库中删除文件组。只有当文件组为空时才能将其删除。组。只有当文件组为空时才能将其删除。45454.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库MODIFY FILE:表示要更改指定的文件,可以更表示要更改指定的文件,可以更改文件名称、大小、增长情况和最大限制。一次改文件名称、大小、增长情况和最大限制。一次只能更改一种属性。如果指定了只能更改一种属性。如果指定了SIZE,那么新的那么新的大小必须比文件当前大小还大。大小必须比文件当前大小还大。MODIFY NAME=新数据库名:表示要重命名数新数据库名:表示要重命名数据库。据库。MODIFY FIL
33、EGROUP文件组名称文件组名称 文件组属性文件组属性|NAME=新文件组名称新文件组名称:指定要修改的文件组:指定要修改的文件组和所需的改动。如果指定和所需的改动。如果指定“文件组名称文件组名称”和和“NAME=新文件组名称新文件组名称”,则将此文件组的名称,则将此文件组的名称改为新文件组名称。如果指定改为新文件组名称。如果指定“文件组名称文件组名称”和和“文件组属性文件组属性”,则表示修改文件组的属性。,则表示修改文件组的属性。46464.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库【例例4】添加一个包含两个数据文件的文件组和一添加一个包含两个数据文件的文件组和一个
34、事务日志文件到个事务日志文件到employees数据库中。数据库中。ALTER DATABASE employees ADD FILEGROUP data1 -添加文件组添加文件组data1 ALTER DATABASE employees ADD FILE -添加数据文件添加数据文件 (NAME=employee3,FILENAME=e:sql_dataemployee3.ndf,SIZE=1,MAXSIZE=50,FILEGROWTH=1),47474.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库(NAME=employee4,FILENAME=e:sql_data
35、employee4.ndf,SIZE=2,MAXSIZE=50,FILEGROWTH=10%)-将以上两个文件添加到将以上两个文件添加到data1文件组文件组 TO FILEGROUP data148484.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库ALTER DATABASE employeesADD LOG FILE -添加日志文件添加日志文件(NAME=employeelog3,FILENAME=e:sql_logemployeelog3.ldf,SIZE=1,MAXSIZE=50,FILEGROWTH=1)49494.3.2 使用使用ALTER DATABAS
36、E语句修改数据句修改数据库【例例5】删除例删除例3-4中添加到数据库中添加到数据库employees中的中的一个数据文件一个数据文件employee4。ALTER DATABASE employeesREMOVE FILE employee4【例例6】给添加到数据库给添加到数据库employees中的文件。中的文件。employee3增加大小。增加大小。ALTER DATABASE employeesMODIFY FILE(NAME=employee3,SIZE=5MB)50504.3.2 使用使用ALTER DATABASE语句修改数据句修改数据库【例例-7】将数据库文件名将数据库文件名em
37、ployees修改成修改成MyEmployees ALTER DATABASE employees MODIFY NAME=MyEmployees 也可以通过执行系统存储过程也可以通过执行系统存储过程sp_renamedb修改修改数据库文件名,代码为:数据库文件名,代码为:EXEC sp_renamedb employees,MyEmployees51514.4 删除数据除数据库 对于不再使用的数据库,可以删除它们以释放对于不再使用的数据库,可以删除它们以释放所占用的磁盘空间。可以在企业管理器中删除数所占用的磁盘空间。可以在企业管理器中删除数据库,也可以使用据库,也可以使用DROP DATAB
38、ASE语句删除数语句删除数据库。据库。52524.4.1 使用企使用企业管理器管理器删除数据除数据库快捷菜单操作:快捷菜单操作:右击所要数据库名称右击所要数据库名称选择选择“删除删除”命令命令工具栏操作:工具栏操作:单击数据库名称单击数据库名称使用按钮使用按钮 弹出对话框如下图。弹出对话框如下图。53534.4.2 使用使用DROP DATABASE语句句删除数据除数据库格式:格式:DROP DATABASE 数据库名称数据库名称,n【例例8】删除创建的数据库删除创建的数据库company。DROP DATABASE company显示结果为:显示结果为:正在删除数据库文件正在删除数据库文件
39、e:sql_logcompany.ldf。正在删除数据库文件正在删除数据库文件 e:sql_datacompany.mdf。注意:注意:如果数据库当前正在使用,则无法删除该如果数据库当前正在使用,则无法删除该数据库数据库。54544.5 备份数据份数据库 在数据库的使用过程中,难免会由于病毒、人在数据库的使用过程中,难免会由于病毒、人为失误、机器故障等原因造成数据的丢失或损坏。为失误、机器故障等原因造成数据的丢失或损坏。数据对于一个企业、政府部门来说往往是非常重数据对于一个企业、政府部门来说往往是非常重要的,一旦出现问题,造成的损失是巨大的。为要的,一旦出现问题,造成的损失是巨大的。为了保证数
40、据库的安全性,防止数据库中数据的意了保证数据库的安全性,防止数据库中数据的意外丢失,应经常对数据库中的数据进行备份,以外丢失,应经常对数据库中的数据进行备份,以便在数据库出故障的时候进行及时有效的恢复。便在数据库出故障的时候进行及时有效的恢复。55554.5.1 备份概述份概述备份内容备份内容系统数据库系统数据库用户数据库用户数据库事务日志事务日志备份方式备份方式(备份类型备份类型)完全数据库备份完全数据库备份差异数据库备份差异数据库备份事务日志备份事务日志备份数据库文件和文件组备份数据库文件和文件组备份56564.5.1 备份概述份概述1.完全数据库备份完全数据库备份 备份数据库的所有表的数
41、据及模式,以及对应备份数据库的所有表的数据及模式,以及对应的文件结构,包括对事务日志中的事务进行备份。的文件结构,包括对事务日志中的事务进行备份。2.差异数据库备份差异数据库备份 只记录自上次完全数据库备份后发生更改的数只记录自上次完全数据库备份后发生更改的数据。差异备份的数据量比完全备份小而且备份速据。差异备份的数据量比完全备份小而且备份速度快,因此可以更经常地备份,经常备份将减少度快,因此可以更经常地备份,经常备份将减少丢失数据的危险。丢失数据的危险。57574.5.1 备份概述份概述3.事务日志备份事务日志备份 事务日志是自上次备份事务日志后对数据库执事务日志是自上次备份事务日志后对数据
42、库执行的所有事务的一系列记录。事务日志备份只考行的所有事务的一系列记录。事务日志备份只考虑在日志中所记录的变化,是基于逻辑操作的备虑在日志中所记录的变化,是基于逻辑操作的备份。可以使用事务日志备份将数据库恢复到特定份。可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点。的即时点或恢复到故障点。4.数据库文件和文件组备份数据库文件和文件组备份 只备份特定的文件或文件组,常用于超大型数只备份特定的文件或文件组,常用于超大型数据库的备份。据库的备份。58584.5.2 创创建和建和删删除除备备份份设备设备磁盘备份设备磁盘备份设备:指硬盘或其它磁盘存储介质上指硬盘或其它磁盘存储介质上的文件,
43、与常规操作系统文件一样。可以在本的文件,与常规操作系统文件一样。可以在本地服务器的磁盘上或远程共享磁盘上定义磁盘地服务器的磁盘上或远程共享磁盘上定义磁盘备份设备。备份设备。磁带备份设备磁带备份设备:磁带设备只能物理连接到运行磁带设备只能物理连接到运行SQL Server实例的计算机上。实例的计算机上。SQL Server不支不支持备份到远程磁带设备上。持备份到远程磁带设备上。在进行备份以前一般要指定或创建备份设备,在进行备份以前一般要指定或创建备份设备,备备份设备份设备是用来存储数据库、事务日志或文件和文件是用来存储数据库、事务日志或文件和文件组备份的存储介质。包括组备份的存储介质。包括磁盘和
44、磁带设备磁盘和磁带设备。59594.5.2 创创建和建和删删除除备备份份设备设备物理设备物理设备名称名称:是操作系统用来标识备份设备的是操作系统用来标识备份设备的名称,如名称,如“D:MyBackupsStudent.bak”。逻辑设备名称逻辑设备名称:是用来标识物理备份设备的别名是用来标识物理备份设备的别名或公用名称,用以简化物理设备名称。例如,逻或公用名称,用以简化物理设备名称。例如,逻辑设备名称可以是辑设备名称可以是“STDBackup”,而物理设备,而物理设备名称则是名称则是“D:MyBackupsStudent.bak”。SQL Server使用物理设备名称或逻辑设备名称使用物理设备
45、名称或逻辑设备名称来标识备份设备。来标识备份设备。60604.5.2 创创建和建和删删除除备备份份设备设备1.使用企业管理器创建设备使用企业管理器创建设备 选择服务器选择服务器展开展开“管理管理”文件夹文件夹 右击右击“备份备份”选择选择“新建备份设备新建备份设备”命令命令61614.5.2 创创建和建和删删除除备备份份设备设备打开打开“备份设备属性备份设备属性”对话框对话框:逻辑备份设备名称逻辑备份设备名称物理备份设备名称物理备份设备名称62624.5.2 创创建和建和删删除除备备份份设备设备2.使用企业管理器删除备份设备使用企业管理器删除备份设备 创建备份设备后,在企业管理器的右侧窗格中创
46、建备份设备后,在企业管理器的右侧窗格中会显示该备份设备的名称、物理位置和设备类型,会显示该备份设备的名称、物理位置和设备类型,用鼠标右击要删除的备份设备的名称,从弹出的用鼠标右击要删除的备份设备的名称,从弹出的快捷菜单中选择快捷菜单中选择“删除删除”命令,则可以删除相应命令,则可以删除相应的备份设备。的备份设备。63634.5.2 创创建和建和删删除除备备份份设备设备3使用系统存储过程创建备份设备使用系统存储过程创建备份设备格式格式:sp_addumpdevice devtype=设备类型设备类型,logicalname=逻辑备份设备名逻辑备份设备名,physicalname=物理备份设备名物
47、理备份设备名参数说明:参数说明:devtype=设备类型设备类型:指定备份设备的类:指定备份设备的类型,可以是型,可以是:disk、pipe、tape。logicalname=逻辑备份设备名逻辑备份设备名:指定逻辑指定逻辑备份设备名称。备份设备名称。64644.5.2 创创建和建和删删除除备备份份设备设备4.使用系统存储过程使用系统存储过程sp_dropdevice删除备份设备删除备份设备格式格式:sp_dropdevice logicalname=逻辑备份设备名逻辑备份设备名 ,delfile=删除文件删除文件 参数参数说明说明:delfile:指是否同时删除物理备份文指是否同时删除物理备份
48、文件。如果该参数指定为件。如果该参数指定为DELFILE,那么就会删除,那么就会删除设备物理文件名指定的磁盘文件。设备物理文件名指定的磁盘文件。65654.5.3 执行行备份份1.在企业管理器中使用备份向导执行备份在企业管理器中使用备份向导执行备份(1)单击服务器单击服务器 打开打开“工具工具”菜单菜单选择选择“向导向导”或或 单击单击 工具栏图标工具栏图标 打开打开“选择向导选择向导”对话框:对话框:66664.5.3 执行行备份份(2)选择数据库选择数据库:67674.5.3 执行行备份份(3)输入备份名称和描述信息输入备份名称和描述信息:68684.5.3 执行行备份份(4)选择备份类型
49、选择备份类型:69694.5.3 执行行备份份(5)选择备份设备和属性选择备份设备和属性:70704.5.3 执行行备份份(6)备份验证和调度备份验证和调度:71714.5.3 执行行备份份(7)完成备份完成备份:72724.5.3 执行行备份份2.在在企业管理器中企业管理器中使用备份数据库对话框执行备份使用备份数据库对话框执行备份(1)打开备份数据库话框打开备份数据库话框方法一:右击数据库方法一:右击数据库选择选择“所有任务所有任务”选择选择“备份备份数据库数据库”令令方法二:展开方法二:展开“数据库数据库”文件夹文件夹展开展开“管理管理”文件夹文件夹右击右击“备份备份”选择选择“备份数据库
50、备份数据库”方法三:打开方法三:打开“工具工具”菜单菜单选择选择“备份数据库备份数据库”73734.5.3 执行行备份份74744.5.3 执行行备份份75754.6 恢复数据恢复数据库 数据库备份后,一旦系统发生崩溃或者执行了数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复错误的数据库操作,就可以从备份文件中恢复(还原)数据库,让数据库回到备份时的状态。(还原)数据库,让数据库回到备份时的状态。通常在以下情况下需要恢复数据库。通常在以下情况下需要恢复数据库。媒体故障。媒体故障。用户操作错误。用户操作错误。服务器永久丢失。服务器永久丢失。将数据库从一台服务器复制