《第4章创建和维护数据库教学课件.ppt》由会员分享,可在线阅读,更多相关《第4章创建和维护数据库教学课件.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 4.1 4.1 数据库的存储结构数据库的存储结构 4.2 4.2 创建、修改和删除数据库创建、修改和删除数据库 4.3 4.3 备份和还原数据库备份和还原数据库 3 SQL Server 2005的数据及所有与数据处理操作相关的信息都存储在数据库中,而数据库的存储分为逻辑存储结构和物理存储结构。其中,逻辑存储结构是指用户可以看到的数据库对象,包括表、视图、索引、存储过程等;物理存储结构是指用户看不到的存储在磁盘上的数据库文件。数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成。一个数据库至少应该包含一个数据库文件和一个事务日志文件,如图4-1所示。4图图4-1 数据库的存储
2、结构数据库的存储结构5 在物理层面上,SQL Server数据库是由多个操作系统文件组成的,数据库所有的数据、对象和数据库操作日志均存储在这些操作系统文件中,根据这些文件的作用不同,可以将它们分为三种文件:主要数据文件(Primary Database File)、次要数据文件(Secondary Database File)和事务日志文件。61 1主要数据文件主要数据文件数据库文件是存放数据库数据和数据库对象的文件,一个SQL Server数据库在磁盘上可以有一个或多个数据库文件,当有多个数据库文件时,有一个数据库文件被定义为主要数据文件,其扩展名为 .mdf。主要数据文件是用来存储数据库的
3、启动信息和部分数据或全部数据,它指向数据库中文件的其它部分,每个数据库只有一个主要数据文件。72 2次要数据文件次要数据文件次要数据文件是主要数据文件的辅助文件,扩展名为 .ndf。次要数据文件用于存储主要数据文件没有存储的剩余数据和剩余数据库对象。一个数据库可以没有次要数据文件,也可以同时拥有多个次要数据文件。使用次要数据文件的好处在于可以在不同的物理磁盘上创建次要数据文件,并将数据存储在文件中,这样可以有效地提高数据的处理效率;另外,当数据庞大时,主要数据文件的大小超过操作系统对单一文件大小的限制时,就必须使用次要数据文件来存储数据。83 3事务日志文件事务日志文件SQL ServerSQ
4、L Server每个数据库至少有一个事务日志文每个数据库至少有一个事务日志文件,扩展名为件,扩展名为 . .ldfldf。事务日志文件用于存储数据库。事务日志文件用于存储数据库的更新情况等事务日志信息,所有使用的更新情况等事务日志信息,所有使用INSERTINSERT、DELETEDELETE、UPDATEUPDATE等等SQLSQL命令对数据库进行修改操作都命令对数据库进行修改操作都要记录在事务日志文件中。要记录在事务日志文件中。事务日志文件非常重要,当数据库遭到破坏时,事务日志文件非常重要,当数据库遭到破坏时,管理员可以使用事务日志文件恢复数据库。管理员可以使用事务日志文件恢复数据库。SQ
5、L Server 2005SQL Server 2005的文件拥有逻辑文件名和物理的文件拥有逻辑文件名和物理文件名两种名称,当使用文件名两种名称,当使用T-SQLT-SQL语句访问某一个文件语句访问某一个文件时,必须使用该文件的逻辑文件名,逻辑文件名必时,必须使用该文件的逻辑文件名,逻辑文件名必须符合须符合SQL ServerSQL Server的命名规则,并且不允许有相同的命名规则,并且不允许有相同的逻辑文件名。物理文件名是文件实际存储在磁盘的逻辑文件名。物理文件名是文件实际存储在磁盘上的文件名,可包括完整的磁盘目录路径。例如,上的文件名,可包括完整的磁盘目录路径。例如,系统的系统的mast
6、ermaster数据库,其逻辑文件名是数据库,其逻辑文件名是mastermaster,物,物理文件名是理文件名是master.mdfmaster.mdf,日志文件名是,日志文件名是master.ldfmaster.ldf。9 为了便于分配和管理SQL Server 2005,允许将多个数据库文件归为一个组,并赋予一个组名,这就是数据库文件组。一个数据库文件只能存于一个文件组,一个文件组也只能被一个数据库使用;日志文件是独立的,它不能存入任何文件组,也就是说,数据库的数据和日志内容不能存入相同的文件组中,日志空间和数据空间分开管理。 10一些系统可以通过控制在特定磁盘驱动器上放置的数据和索引来提
7、高自身的性能,文件组可以对此进程提供帮助。系统管理员可以为每个磁盘驱动器创建文件组,然后将特定的表、索引、或表中的 text、ntext 或 image 数据指派给特定的文件组。SQL Server 2005提供了三种文件组类型,分别是主要文件组、用户定义文件组和默认文件组。主要文件组包含主要数据文件和所有没有被包含在其它文件组里的文件。数据库的系统表都包含在主要文件组里。11用户定义文件组包括所有在使用CREATE DATABASE或ALTER DATABASE 命令时使用FILEGROUP关键字进行约束的文件。默认文件组容纳所有在创建时没有指定文件组的表、索引以及text、ntext 或
8、image 数据类型的数据。每个数据库中都有一个文件组作为默认文件组运行,任何时候,只能有一个文件组被指定为默认文件组。默认情况下,主要文件组是默认文件组。124.2.1 创建数据库4.2.2 查看数据库4.2.3 修改数据库4.2.4 删除数据库13 SQL Server 2005SQL Server 2005每个数据库都由以下几个部分的每个数据库都由以下几个部分的数据库对象组成:关系图、表、视图、存储过程、数据库对象组成:关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义的数据类型用户、角色、规则、默认、用户自定义的数据类型和用户自定义的函数,如图和用户自定义的函数,如图4-2
9、4-2所示。所示。 SQL Server 2005 SQL Server 2005允许每个服务器中最多可以创建允许每个服务器中最多可以创建3276732767个数据库,每个数据库的库名必须符合系统标个数据库,每个数据库的库名必须符合系统标识符的命名规则,应该使用易于记忆并有一定意义识符的命名规则,应该使用易于记忆并有一定意义的名称命名数据库。的名称命名数据库。 创建数据库的过程实际是设计数据库的名称、设创建数据库的过程实际是设计数据库的名称、设计数据库所占用的存储空间和存放文件的位置的过计数据库所占用的存储空间和存放文件的位置的过程。数据库的基本信息存储在系统的程。数据库的基本信息存储在系统的
10、Master Master 数据库数据库中的中的sysdatabasessysdatabases系统表中,可以使用系统表中,可以使用SELECTSELECT语句语句来查询数据库的信息。来查询数据库的信息。14图图4-2 数据库的对象数据库的对象15创建数据库可以使用创建数据库可以使用SQL Server Management SQL Server Management StudioStudio管理控制台(以下称企业管理器)或在查询管理控制台(以下称企业管理器)或在查询分析器中使用分析器中使用Transact-SQLTransact-SQL语言创建数据库。以下语言创建数据库。以下介绍这两种方法的
11、创建过程。介绍这两种方法的创建过程。 1 1使用企业管理器创建数据库使用企业管理器创建数据库 使用企业管理器创建数据库的操作步骤如下:使用企业管理器创建数据库的操作步骤如下: 启动启动SQL Server Management StudioSQL Server Management Studio管理控制管理控制台,在台,在“对象资源管理器对象资源管理器”中右击中右击“数据库数据库”结点,结点,从弹出的快捷菜单中选择从弹出的快捷菜单中选择“新建数据库新建数据库”选项,如选项,如图图4-34-3所示。所示。 单击单击“新建数据库新建数据库”命令后将弹出命令后将弹出“新建数据新建数据库库”对话框,该
12、对话框有三个页面:对话框,该对话框有三个页面:“常规常规”、“选项选项”和和“文件组文件组”,其中,其中“常规常规”页面如图页面如图4-4-4 4所示。所示。16图图4-3 创建数据库创建数据库17图图4-4 创建数据库对话框中的常规选项创建数据库对话框中的常规选项18 在在“新建数据库新建数据库”对话框的对话框的“常规常规”页面可以页面可以设置新建数据库的属性,也可以查看或修改已建数设置新建数据库的属性,也可以查看或修改已建数据库的属性。可以进行以下操作:据库的属性。可以进行以下操作:输入所要创建的数据库的名称,选择或指定输入所要创建的数据库的名称,选择或指定数据库的所有者以及是否使用全文索
13、引;数据库的所有者以及是否使用全文索引;例如,新建例如,新建“学生成绩管理学生成绩管理”数据库,可在数据库,可在“数数据库名称据库名称”文本框内输入:学生成绩管理;在文本框内输入:学生成绩管理;在“所所有者有者”文本框可以选系统文本框可以选系统“默认值默认值”,也可以单击,也可以单击右侧的右侧的【】按钮选择数据库的所有者。在此选择按钮选择数据库的所有者。在此选择系统系统“默认值默认值”;不选择全文索引。;不选择全文索引。 设置数据库的设置数据库的“数据文件数据文件”的属性,包括逻辑的属性,包括逻辑名称、文件类型、文件组、初始大小、自动增长方名称、文件类型、文件组、初始大小、自动增长方式和路径。
14、式和路径。19例如,新建的例如,新建的“学生成绩管理学生成绩管理”数据库的数据文件数据库的数据文件的逻辑名系统自动确定为:学生成绩管理;文件类的逻辑名系统自动确定为:学生成绩管理;文件类型是:数据;文件组是:型是:数据;文件组是:PRIMARYPRIMARY;初始大小,系统;初始大小,系统预置为预置为3MB3MB,也可以通过,也可以通过“微调按钮微调按钮”选择其它值,选择其它值,在此选择在此选择3MB3MB;自动增长,系统预置增长量为;自动增长,系统预置增长量为1MB1MB,不限制增长,在此,也可以单击不限制增长,在此,也可以单击【】按钮更改自按钮更改自动增长设置,如图动增长设置,如图4-44
15、-4所示。所示。 设置数据库的设置数据库的“事务日志事务日志”的属性,包括逻辑名的属性,包括逻辑名称、文件类型、文件组、初始大小、自动增长方式称、文件类型、文件组、初始大小、自动增长方式和路径。设置方法同和路径。设置方法同“数据文件数据文件”的设置,不再赘的设置,不再赘述。述。完成上述操作后,单击完成上述操作后,单击【确定确定】按钮完成按钮完成“学生成学生成绩管理绩管理”数据库的创建。这时在数据库的创建。这时在“对象资源管理器对象资源管理器”的的“数据库数据库”文件夹内便出现新建的数据库文件夹内便出现新建的数据库“学生学生成绩管理成绩管理”,如图,如图4-54-5所示。所示。20图图4-5 新
16、创建的学生成绩管理数据库新创建的学生成绩管理数据库新建的数据库212 2在查询分析器中使用在查询分析器中使用Transact-SQLTransact-SQL语言创建数据库语言创建数据库使用使用Transact-SQLTransact-SQL语言创建数据库的命令是:语言创建数据库的命令是: CREATE DATABASE CREATE DATABASE其基本语法格式:其基本语法格式:CREATE DATABASE database_nameON PRIMARY ,n, ,n LOG ON ,n :=(NAME=logical_file_name,FILENAME=os_file_name,SIZ
17、E=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment ) 22主要参数说明:主要参数说明: database_namedatabase_name:表示新建数据库的名称,数据:表示新建数据库的名称,数据库名必须符合标识符的命名规则,数据库名最长为库名必须符合标识符的命名规则,数据库名最长为128128个字符。个字符。 ONON:表示存放数据库的数据文件将在后面分别给:表示存放数据库的数据文件将在后面分别给出定义;出定义;PRIMARYPRIMARY:该选项是定义数据库的主要文件组中的文:该选项是定义数据库的主要文件组中的文件。
18、主文件组不仅包含数据库系统表中的全部内容,件。主文件组不仅包含数据库系统表中的全部内容,而且还包含用户文件组中没有包含的全部对象。一而且还包含用户文件组中没有包含的全部对象。一个数据库只能有一个主文件,默认情况下,如果不个数据库只能有一个主文件,默认情况下,如果不指定指定PRIMARYPRIMARY关键字,则在命令中列出的第一个文件关键字,则在命令中列出的第一个文件将被默认为主文件。将被默认为主文件。 LOG ONLOG ON:定义数据库的事务日志:定义数据库的事务日志文件。如果没有文件。如果没有 LOG ON LOG ON 选项,系统会选项,系统会自动产生一个文件名前缀与数据库名相自动产生一
19、个文件名前缀与数据库名相同,容量为数据库文件大小同,容量为数据库文件大小1/41/4的事务的事务日志文件。日志文件。 NAMENAME:指定数据库的逻辑名称,:指定数据库的逻辑名称,这是在这是在SQL ServerSQL Server系统中使用的名称,系统中使用的名称,是数据库在是数据库在SQL ServerSQL Server中的标识符。中的标识符。 FILENAMEFILENAME:定义数据库所在文件:定义数据库所在文件的操作系统文件名称和路径,该操作系的操作系统文件名称和路径,该操作系统文件名和统文件名和NAMENAME的逻辑名称一一对应。的逻辑名称一一对应。24 SIZESIZE:指定
20、数据库的初始容量大小。如果:指定数据库的初始容量大小。如果没有指明主文件的大小,则没有指明主文件的大小,则SQL ServerSQL Server默认默认其与模板数据库中主文件的大小一致,其它其与模板数据库中主文件的大小一致,其它数据库文件和事务日志默认为数据库文件和事务日志默认为1MB1MB。SIZESIZE最小最小值是值是512KB512KB,默认值为,默认值为1MB1MB。 MAXSIZEMAXSIZE:指定数据库文件可以增长到的:指定数据库文件可以增长到的最大尺寸。如果没有指定值,则文件可以不最大尺寸。如果没有指定值,则文件可以不断增长直到充满磁盘。断增长直到充满磁盘。 FILEGRO
21、WTHFILEGROWTH:指定文件每次增加容量的大:指定文件每次增加容量的大小,当指定数据为小,当指定数据为0 0时,表示文件不增长。如时,表示文件不增长。如果没有指定值,则默认按果没有指定值,则默认按10%10%的比例增长,每的比例增长,每次扩容的最小值为次扩容的最小值为64KB64KB。25【例例4.14.1】用用Transact-SQLTransact-SQL命令创建一个图书管理数据库命令创建一个图书管理数据库TSGL1TSGL1,该数据库的主数据文件逻辑名称为,该数据库的主数据文件逻辑名称为TSGL1_dataTSGL1_data,物,物理文件名为理文件名为TSGL1.mdfTSGL
22、1.mdf,初始大小为,初始大小为10MB10MB,最大尺寸为无限,最大尺寸为无限大,增长速度为大,增长速度为10%10%;数据库的日志文件逻辑名称为;数据库的日志文件逻辑名称为TSGL1_logTSGL1_log,物理文件名为,物理文件名为TSGL1.ldfTSGL1.ldf,初始大小为,初始大小为1MB1MB,最,最大尺寸为大尺寸为5MB5MB,增长速度为,增长速度为1MB1MB。程序代码见教材程序代码见教材P65P65在在“查询分析器查询分析器”的的“查询脚本编辑器查询脚本编辑器”内输入并运行以内输入并运行以上程序代码,将创建上程序代码,将创建TSGL1TSGL1数据库。数据库。在在“对
23、象资源管理器对象资源管理器”中用鼠标右键点击新建的中用鼠标右键点击新建的TSGL1TSGL1数据数据库,从弹出的菜单中选取库,从弹出的菜单中选取“属性属性”项,将弹出项,将弹出“数据库属数据库属性性-TSGL1”-TSGL1”对话框,从这个对话框的对话框,从这个对话框的“常规常规”选择页和选择页和“文件文件”选择页可以查看新建数据库选择页可以查看新建数据库TSGL1TSGL1的数据文件和日的数据文件和日志文件的相关参数。志文件的相关参数。26【例例4.24.2】用用Transact-SQLTransact-SQL命令创建一个含有多个命令创建一个含有多个数据文件和日志文件的数据库。该数据库名称为
24、数据文件和日志文件的数据库。该数据库名称为TSGL2TSGL2,有,有1 1个个10MB10MB和和1 1个个20MB20MB的数据文件和的数据文件和2 2个个10MB10MB的事务日志文件。数据文件逻辑名称为的事务日志文件。数据文件逻辑名称为TSGL21_dataTSGL21_data和和TSGL22_dataTSGL22_data,物理文件名为,物理文件名为TSGL21.mdfTSGL21.mdf和和TSGL22.mdfTSGL22.mdf。主文件是。主文件是TSGL21TSGL21,由,由primaryprimary指定,两个数据文件的最大尺寸分别为无指定,两个数据文件的最大尺寸分别为无
25、限大和限大和100MB100MB,增长速度分别为,增长速度分别为10%10%和和1MB1MB。事务日。事务日志文件的逻辑名为志文件的逻辑名为TSGL21_logTSGL21_log和和TSGL22_logTSGL22_log,物理,物理文件名为文件名为TSGL21.ldfTSGL21.ldf和和TSGL22.ldfTSGL22.ldf,最大尺寸均为,最大尺寸均为50MB50MB,文件增长速度为,文件增长速度为1MB1MB。27程序代码见教材程序代码见教材P66P66在在“查询分析器查询分析器”的的“查询脚本编辑器查询脚本编辑器”内输入内输入并运行以上程序代码,将创建并运行以上程序代码,将创建T
26、SGL2TSGL2数据库。数据库。在在“对象资源管理器对象资源管理器”中用鼠标右键点击新建的中用鼠标右键点击新建的TSGL2TSGL2数据库,从弹出的菜单中选取数据库,从弹出的菜单中选取“属性属性”项,项,将弹出将弹出“数据库属性数据库属性-TSGL2”-TSGL2”对话框,从这个对对话框,从这个对话框的话框的“常规常规”选择页和选择页和“文件文件”选择页可以审选择页可以审核新建数据库核新建数据库TSGL2TSGL2的数据文件和日志文件的相的数据文件和日志文件的相关参数是否符合设计要求,如图关参数是否符合设计要求,如图4-64-6所示。所示。28图图4-6 新建数据库新建数据库TSGL2的属性
27、对话框的属性对话框29 一个数据库创建以后,可以使用一个数据库创建以后,可以使用SQL Server Management SQL Server Management StudioStudio管理控制台(企业管理器)查看已建立的数据库的基管理控制台(企业管理器)查看已建立的数据库的基本信息。本信息。 在管理控制台的在管理控制台的“对象资源管理器对象资源管理器”内的树形目录中找到内的树形目录中找到要查看的数据库,如查看数据库要查看的数据库,如查看数据库TSGLTSGL的属性,可以用鼠标右的属性,可以用鼠标右击该数据库名,由弹出的菜单中选择击该数据库名,由弹出的菜单中选择“属性属性”项,如图项,如
28、图4-74-7所示,这时将出现所示,这时将出现“数据库属性数据库属性-TSGL”-TSGL”对话框。该对话框对话框。该对话框内含有内含有“常规常规”、“文件文件”、“文件组文件组”、“选项选项”、“权权限限”、“扩展属性扩展属性”、“镜像镜像”和和“事务日志传送事务日志传送”共共8 8个个选择页,其中选择页,其中“文件文件”选择页显示了选择页显示了TSGLTSGL数据库文件的逻辑数据库文件的逻辑名称、文件类型、文件组、初始大小、自动增长等信息。点名称、文件类型、文件组、初始大小、自动增长等信息。点击其它选择页,还可以查看其它相关信息,可参见图击其它选择页,还可以查看其它相关信息,可参见图4-6
29、4-6。30图图4-7 查看数据库属性查看数据库属性31当需要对所建数据库的属性进行修改时,可以使用当需要对所建数据库的属性进行修改时,可以使用SQL SQL Server Management StudioServer Management Studio管理控制台(企业管理器)或管理控制台(企业管理器)或在查询分析器中使用在查询分析器中使用Transact-SQLTransact-SQL语言进行数据库属性的语言进行数据库属性的修改。修改。1. 1. 使用企业管理器修改数据库使用企业管理器修改数据库启动启动SQL Server Management StudioSQL Server Manag
30、ement Studio管理控制台,在管理控制台,在“对对象资源管理器象资源管理器”中展开指定的服务器和数据库,右击需要中展开指定的服务器和数据库,右击需要修改的数据库(如修改修改的数据库(如修改TSGLTSGL数据库),从弹出的快捷菜单数据库),从弹出的快捷菜单中选择并单击中选择并单击“属性属性”选项,将出现数据库属性对话框选项,将出现数据库属性对话框(可以参见图(可以参见图4-64-6),对话框内含有),对话框内含有“常规常规”、“文件文件”、“文件组文件组”、“选项选项”、“权限权限”、“扩展属性扩展属性”、“镜镜像像”和和“事务日志传送事务日志传送”共共8 8个选择页。个选择页。32
31、在在“常规常规”选择页中显示当前数据库的名称、状态、所选择页中显示当前数据库的名称、状态、所有者、创建日期、大小、可用空间、用户数以及数据库上有者、创建日期、大小、可用空间、用户数以及数据库上次备份日期和维护规则等信息;可对相关信息进行修改。次备份日期和维护规则等信息;可对相关信息进行修改。 在在“文件文件”选择页中可以重新修改数据文件和事务日志选择页中可以重新修改数据文件和事务日志文件的逻辑名称、文件类型、文件组、初始大小(文件的逻辑名称、文件类型、文件组、初始大小(MBMB)、)、自动增长等信息。自动增长等信息。 在在“文件组文件组”选择页中可以添加或删除文件组。选择页中可以添加或删除文件
32、组。 在在“选项选项”选择页中可以对数据库的排序规则、恢复模选择页中可以对数据库的排序规则、恢复模式、兼容级别以及恢复、游标、杂项、状态、自动等属性式、兼容级别以及恢复、游标、杂项、状态、自动等属性进行修改。其中有关参数说明如下:进行修改。其中有关参数说明如下:a.ANSIa.ANSI NULL NULL默认设置:允许在数据库表的列默认设置:允许在数据库表的列( (字段字段) )中输入中输入空(空(NULLNULL)值。)值。33b.b.递归触发器已启用:允许触发器递归调用。递归触发器已启用:允许触发器递归调用。SQL ServerSQL Server设设定的触发器递归调用的层数最多为定的触发
33、器递归调用的层数最多为3232层。层。c.c.自动创建统计信息:在优化查询时,根据需要自动创建统自动创建统计信息:在优化查询时,根据需要自动创建统计信息。计信息。d.d.自动更新统计信息:允许使用自动更新统计信息:允许使用SELECT INTOSELECT INTO或或BCPBCP、WRITETEXTWRITETEXT、UPDATETEXTUPDATETEXT命令向表中大量插入数据。命令向表中大量插入数据。e.e.自动关闭:当数据库中无用户时,自动关闭该数据库,并自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。将所占用的资源交还给操作系统。f.f.自动收缩:允许
34、定期对数据库进行检查,当数据库文件或自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的日志文件的未用空间超过其大小的25%25%时,系统将会自动缩时,系统将会自动缩减文件使其未用空间等于减文件使其未用空间等于25%25%。 在在“权限权限”选择页中可以设置用户对数据库的使用权限。选择页中可以设置用户对数据库的使用权限。342. 2. 在查询分析器中使用在查询分析器中使用Transact-SQLTransact-SQL语言修改数据库语言修改数据库使用使用Transact-SQLTransact-SQL语言修改数据库的命令是:语言修改数据库的命令是: ALTER DA
35、TABASE ALTER DATABASE其基本语法格式:其基本语法格式:ALTER DATABASE databasenameadd 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_namefilegr
36、oup_property|name=new_filegroup_name 使用使用ALTER DATABASEALTER DATABASE语句可以增加或删除数据库中的文件,语句可以增加或删除数据库中的文件,也可以修改数据库文件的属性。也可以修改数据库文件的属性。35主要参数说明:主要参数说明: 语句中语句中add fileadd file,remove fileremove file和和modify filemodify file三三个子句分别指定创建、删除和修改已有的文件。个子句分别指定创建、删除和修改已有的文件。 to to filegroupfilegroup:使用该选项把新文件赋给已有
37、的:使用该选项把新文件赋给已有的文件组。文件组。 add log fileadd log file:使用该子句可以创建新的事务日:使用该子句可以创建新的事务日志并将其添加到已有的数据库事务日志中。志并将其添加到已有的数据库事务日志中。 add add filegroupfilegroup:使用该选项可以创建新的文件:使用该选项可以创建新的文件组。组。 remove remove filegroupfilegroup:使用该选项可以从系统中删:使用该选项可以从系统中删除文件组。除文件组。 ,n,n:表示文件说明:表示文件说明36【例例4.34.3】用用Transact-SQLTransact-S
38、QL命令添加一个含有两个数命令添加一个含有两个数据文件的文件组和一个事务日志文件到据文件的文件组和一个事务日志文件到TSGL1TSGL1数据库。数据库。程序代码见教材程序代码见教材P68P68在在“查询分析器查询分析器”的的“查询脚本编辑器查询脚本编辑器”内输入并运内输入并运行以上程序代码,将在行以上程序代码,将在TSGL1TSGL1数据库中添加含有两个数据库中添加含有两个数据文件的文件组数据文件的文件组DATA1DATA1和一个事务日志文件。和一个事务日志文件。在在“对象资源管理器对象资源管理器”中用鼠标右键点击中用鼠标右键点击TSGL1TSGL1数据数据库,从弹出的菜单中选取库,从弹出的菜
39、单中选取“属性属性”项,将弹出项,将弹出“数据数据库属性库属性-TSGL1”-TSGL1”对话框,从这个对话框的对话框,从这个对话框的“常规常规”选选择页和择页和“文件文件”选择页可以审核修改后的数据库选择页可以审核修改后的数据库TSGL1TSGL1的数据文件和日志文件的相关参数是否符合修的数据文件和日志文件的相关参数是否符合修改要求。改要求。37 对于不再使用的数据库应该删除它以释放数据库对于不再使用的数据库应该删除它以释放数据库所占用的存储空间。删除数据库也有两种方法,即所占用的存储空间。删除数据库也有两种方法,即使用使用SQL Server Management Studio SQL S
40、erver Management Studio 管理控制台管理控制台(企业管理器)或在查询分析器中使用(企业管理器)或在查询分析器中使用Transact-Transact-SQLSQL语言删除数据库。语言删除数据库。1.1.使用企业管理器删除数据库使用企业管理器删除数据库 启动启动SQL Server Management Studio SQL Server Management Studio 管理控制台,管理控制台,在在“对象资源管理器对象资源管理器”中,用鼠标右击所要删除的中,用鼠标右击所要删除的数据库,从弹出的快捷菜单中选择数据库,从弹出的快捷菜单中选择“删除删除”选项,选项,便可删除指
41、定的数据库。便可删除指定的数据库。382. 2. 在查询分析器中使用在查询分析器中使用Transact-SQLTransact-SQL语言删除数据语言删除数据库库使用使用Transact-SQLTransact-SQL语言删除数据库的命令是:语言删除数据库的命令是:DROP DROP 其基本语法格式:其基本语法格式:DROP database DROP database database_namedatabase_name,n,nDROPDROP语句可以从语句可以从SQL ServerSQL Server中一次删除一个或多个数中一次删除一个或多个数据库。据库。【例例4.44.4】删除所创建的数
42、据库删除所创建的数据库TSGL1TSGL1。程序代码如下:程序代码如下:DROP database TSGL1DROP database TSGL1394.3.1 4.3.1 概述概述4.3.2 4.3.2 备份数据库的操作备份数据库的操作4.3.3 4.3.3 还原数据库还原数据库40 SQL Server 2005 SQL Server 2005 提供了一套功能强大的数据库提供了一套功能强大的数据库备份和还原的功能,这为存储在备份和还原的功能,这为存储在 SQL Server SQL Server 数据数据库中的关键数据提供了重要的保护手段。通过正确库中的关键数据提供了重要的保护手段。通过
43、正确的设计可以从多种故障中恢复数据库,这些故障包的设计可以从多种故障中恢复数据库,这些故障包括:存储媒体故障、用户的错误操作或服务器的彻括:存储媒体故障、用户的错误操作或服务器的彻底崩溃等。另外,也可以出于其它需要的备份和还底崩溃等。另外,也可以出于其它需要的备份和还原数据库,如将数据库从一台服务器复制到另一台原数据库,如将数据库从一台服务器复制到另一台服务器等。服务器等。 数据库备份就是对数据库备份就是对 SQL Server SQL Server 数据库或事务日数据库或事务日志进行备份。数据库备份记录了在进行备份这一操志进行备份。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,
44、以便在数据库遭到作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其还原。破坏时能够及时地将其还原。数据库备份是动态的,即备份时允许其它用户继续数据库备份是动态的,即备份时允许其它用户继续对数据库进行操作。对数据库进行操作。41SQL Server 2005SQL Server 2005提供了四种不同的备份方式:提供了四种不同的备份方式:1 1完全数据库备份完全数据库备份完全数据库备份是对所有数据库操作和事务日志中完全数据库备份是对所有数据库操作和事务日志中的事务进行备份,这种备份方式可用作系统崩溃时的事务进行备份,这种备份方式可用作系统崩溃时恢复数据库的基础。完全数据库备份过程中
45、需要花恢复数据库的基础。完全数据库备份过程中需要花费的时间和空间最多,不宜频繁使用。费的时间和空间最多,不宜频繁使用。2 2差异备份或称增量备份差异备份或称增量备份差异备份是对最后一次数据库备份以来发生的数据差异备份是对最后一次数据库备份以来发生的数据变化进行备份。对于一个经常进行数据操作的数据变化进行备份。对于一个经常进行数据操作的数据库进行备份,需要在完全数据库备份的基础上进行库进行备份,需要在完全数据库备份的基础上进行差异备份,差异备份的优点是速度快。通过增加差差异备份,差异备份的优点是速度快。通过增加差异备份的备份次数可以降低丢失数据的风险。异备份的备份次数可以降低丢失数据的风险。42
46、3 3事务日志备份事务日志备份事务日志备份是对数据库发生的事务进行备份,包括事务日志备份是对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务,它可以在相应的数据份之后,所有已经完成的事务,它可以在相应的数据库备份的基础上,尽可能地恢复最新的数据库记录。库备份的基础上,尽可能地恢复最新的数据库记录。由于它仅对数据库事务日志进行备份,所以它需要的由于它仅对数据库事务日志进行备份,所以它需要的磁盘空间和备份时间都比数据库备份少得多。磁盘空间和备份时间都比数据库备份少得多。差异备份和事务日志备份的速度快
47、,但它们之间的主差异备份和事务日志备份的速度快,但它们之间的主要差异是事务日志备份含有自上次备份以来的所有修要差异是事务日志备份含有自上次备份以来的所有修改,而差异备份只含有最后一次的修改。改,而差异备份只含有最后一次的修改。4 4数据库文件和文件组备份数据库文件和文件组备份当数据库非常大时,可以进行数据库文件或文件组的当数据库非常大时,可以进行数据库文件或文件组的备份,文件组包含了一个或多个数据库文件。当备份,文件组包含了一个或多个数据库文件。当SQL SQL ServerServer系统备份文件或文件组时,最多可以指定系统备份文件或文件组时,最多可以指定1616个个文件或文件组。文件或文件
48、组。43备份数据库可以使用备份数据库可以使用SQL Server Management StudioSQL Server Management Studio管理控制台(企业管理器)或使用管理控制台(企业管理器)或使用Transact-SQLTransact-SQL语句语句来完成备份数据库的操作。来完成备份数据库的操作。. . 使用企业管理器备份数据库使用企业管理器备份数据库使用企业管理器备份数据库可以按以下操作步骤进行:使用企业管理器备份数据库可以按以下操作步骤进行: 启动启动SQL Server Management Studio SQL Server Management Studio 管
49、理控制台,管理控制台,在在“对象资源管理器对象资源管理器”内展开指定的服务器。内展开指定的服务器。 展开展开“数据库数据库”文件夹,右击需要备份的数据库文件夹,右击需要备份的数据库(譬如备份(譬如备份TSGLTSGL数据库),从弹出的快捷菜单中选择数据库),从弹出的快捷菜单中选择“任务任务”菜项的菜项的“备份备份”命令,如图命令,如图4-84-8所示。所示。44图图4-8 选择备份数据库的命令选择备份数据库的命令45 指定备份源:执行指定备份源:执行“备份备份”命令后,将弹出命令后,将弹出“备份数据库备份数据库”对话框,如图对话框,如图4-94-9所示。在该对话框所示。在该对话框的的“常规常规
50、”选择页内选择页内“源源”区域内确定备份源的相区域内确定备份源的相关参数。关参数。 在在“备份类型备份类型”下拉列表框内确定数据库的备下拉列表框内确定数据库的备份类型:若执行完整数据库备份,则选择份类型:若执行完整数据库备份,则选择“完整完整”选项;若执行差异数据库备份,则选择选项;若执行差异数据库备份,则选择“差异差异”选选项;若要备份事务日志,则选择项;若要备份事务日志,则选择“事务日志事务日志”选项。选项。 “ “备份组件备份组件”:若只想备份数据库中的某个文:若只想备份数据库中的某个文件和文件组,则单击件和文件组,则单击“文件和文件组文件和文件组”单选按钮,单选按钮,并选择相应的文件或