Download presentation
Presentation is loading. Please wait.
Published byBaldric Reynard Fields Modified 6年之前
1
第4章 数据库管理 4.1 数据库的存储结构 4.2 创建、修改和删除数据库 4.3 数据库备份 4.4 恢复数据库 4.5 数据库的维护
第4章 数据库管理 4.1 数据库的存储结构 4.2 创建、修改和删除数据库 4.3 数据库备份 4.4 恢复数据库 4.5 数据库的维护 上一章 返回目录
2
4.1 数据库的存储结构 数据库文件 数据库文件组
3
数据库文件 逻辑存储结构和物理存储结构 一、数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,SQL Server的数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。 二、数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。
4
4.1.1 数据库文件 1. 主数据库文件(Primary Database File)
数据库文件 1. 主数据库文件(Primary Database File) 2. 辅助数据库文件(Secondary Database File) 3. 事务日志文件
5
4.1.2 数据库文件组 为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。
数据库文件组 为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。 与数据库文件一样,文件组也分为主文件组(Primary File Group)和次文件组(Secondary File Group)。
6
4.2 创建、修改和删除数据库 创建数据库 修改数据库 删除数据库
7
4.2.1 创建数据库 每个数据库都由以下几个部分的数据库对象所组成:
创建数据库 每个数据库都由以下几个部分的数据库对象所组成: 关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。
8
创建数据库的方法 使用向导创建数据库 使用企业管理器(Enterprise Manager)创建数据库
使用Transact-SQL语言创建数据库。
9
(一)使用向导创建数据库 以下图4-1 到图4-8是使用向导创建数据库 ,用户根据提示操作,即可创建数据库。
10
图4-1 选择向导对话框
11
图4-2 欢迎使用创建数据库向导对话框
12
图4-3 输入数据库名称和文件位置对话框
13
图4-4 定义数据库文件逻辑名称及初始大小对话话框
14
图4-5 定义数据库增长信息对话框
15
图4-6 定义事务日志文件名称及初始大小对话框
16
图4-7 定义事务日志文件增长信息对话框
17
图4-8 确认创建数据库对话框
18
(2)使用企业管理器创建数据库 (1)在企业管理器中,单击工具栏中的 图标,或在数据库文件夹或其下属任一数据库图标上单击右键,选择新建数据库选项,就会出现如图4-9所示的对话框。 (2)在常规(General)页框中,要求用户输入数据库名称以及排序规则名称。 (3)点击数据文件(Data Files)页框,该页框用来输入数据库文件的逻辑名称、存储位置、初始容量大小和所属文件组名称,如图4-10所示。 (4)点击事务日志(Transaction Log)页框,该页框用来设置事务日志文件信息,如图4-11所示。 (5)单击图4-11中的“确定”按钮,则开始创建新的数据库。
19
图4-9 创建数据库对话框中的常规页框
20
图 创建数据库对话框中的数据文件页框
21
图 创建数据库对话框中的事务日志页框
22
(3) 使用Transact-SQL语言创建数据库,语法如下:
CREATE DATABASE database_name [ON [PRIMARY] [<filespec> [,…n] [,<filegroupspec> [,…n]] ] [LOG ON {<filespec> [,…n]}] [FOR RESTORE] <filespec>::=([NAME=logical_file_name,] FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment] ) [,…n] <filegroupspec>::=FILEGROUP filegroup_name <filespec> [,…n]
23
各参数说明如下: database_name:数据库的名称,最长为128个字符。 PRIMARY:该选项是一个关键字,指定主文件组中的文件。
LOG ON:指明事务日志文件的明确定义。 NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。
24
FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。
SIZE:指定数据库的初始容量大小。 MAXSIZE:指定操作系统文件可以增长到的最大尺寸。 FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。
25
例子4-1:创建了一个Company数据库 创建了一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件名为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。 程序清单4-1:
26
例子4-2:创建一个指定多个数据文件和日志文件的数据库
该数据库名称为employees,有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件。数据文件逻辑名称为employee1和employee2,物理文件名为employee1.mdf和employee2.mdf。主文件是employee1,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为employeelog1和employeelog2,物理文件名为employeelog1.ldf和employeelog2.ldf,最大尺寸均为50MB,文件增长速度为1MB。 其源程序为:
27
修改数据库 1. 利用企业管理器修改数据库 2. 使用ALTER DATABASE语句修改数据库
28
1. 利用企业管理器修改数据库 设置中的各选项说明如下 : ANSI NULL默认设置:允许在数据库表的列中输入空(NULL)值。
递归触发器:允许触发器递归调用。SQL Server设定的触发器递归调用的层数最多为32层。 自动更新统计信息:允许使用SELECT INTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入数据。 残缺页检测:允许自动检测有损坏的页。 自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。
29
自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。
自动创建统计信息:在优化查询(Query Optimizer)时,根据需要自动创建统计信息。 使用被引用的标识符:标识符必须用双引号括起来,且可以不遵循Transact-SQL命名标准。
30
2. 使用ALTER DATABASE语句修改数据库语法形式如下:
Alter database databasename {add file<filespec>[,…n] [to filegroup filegroupname] |add log file <filespec>[,…n] |remove file logical_file_name [with delete] |modify file <filespec> |modify name=new_databasename |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name {filegroup_property|name=new_filegroup_name}}
31
例子4-3 例子4-3:添加一个包含两个数据文件的文件组和一个事务日志文件到employees数据库中。 程序清单4-3:
32
4.2.3 删除数据库 1.利用企业管理器删除数据库 2. 利用Drop语句删除数据库
删除数据库 1.利用企业管理器删除数据库 2. 利用Drop语句删除数据库 Drop语句可以从SQL Server中一次删除一个或多个数据库。其语法如下: Drop database database_name[,…n]
33
例子4-4:删除创建的数据库company。
程序清单4-4: drop database company 输出结果为: Deleting database file 'd:\mssql7\data\company.ldf'. Deleting database file 'd:\mssql7\data\company.mdf'.
34
4.3 数据库备份 备份概述 创建备份设备 备份的执行
35
备份概述 备份就是对SQL Server数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。
36
SQL Server 2000四种备份方式 (一)完全数据库备份(Dadabase-complete)
(二)差异备份或称增量备份(Dadabase-differential) (三)事务日志备份(Transaction log) (四)数据库文件和文件组备份(File and filegroup)
37
创建备份设备 在进行备份以前首先必须指定或创建备份设备,备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,备份设备可以是硬盘、磁带或管道。当使用磁盘时,SQL Server允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。
38
创建备份设备的两种方法 : 1 .使用SQL Server 企业管理器创建备份设备 如图4-17---4-18所示。
2. 使用系统存储过程创建备份设备 在SQL Server 中,可以使用sp_addumpdevice语句创建备份设备,其语法形式如下: sp_addumpdevice {‘device_type’} [,’logical_name’][,’physical_name’][,{{controller_type|’device_status’}}]
39
图 使用企业管理器创建备份设备
40
图 输入备份设备属性对话框
41
例子4-5:在磁盘上创建了一个备份设备 程序清单4-5: use master
exec sp_addumpdevice ‘disk’, ‘backup_company’, ‘c:\mssql7\backup\bk_company.bak’
42
删除备份设备 删除备份设备与创建的过程类似,只须在企业管理器中选中要删除的备份设备,在弹出的菜单中选择删除选项即可删除该备份设备。或者使用sp_dropdevice语句来删除备份设备。其语法如下: sp_dropdevice [‘logical_name’][,’delfile’] 例子4-6:删除上面创建的备份设备 sp_dropdevice ‘backup_company’, ‘c:\mssql7\backup\bk_company.bak’
43
4.3.3 备份的执行 SQL Server系统提供了三种数据库备份操作的方法: (1)SQL Server 企业管理器 (2)备份向导
备份的执行 SQL Server系统提供了三种数据库备份操作的方法: (1)SQL Server 企业管理器 (2)备份向导 (3)Transact-SQL语句。
44
1. 使用SQL Server 企业管理器进行备份
(1)启动企业管理器,登录到指定的数据库服务器,打开数据库文件夹,用右键单击所要进行备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择备份数据库 。 (2)出现SQL Server备份对话框,对话框中有两个页框,即常规和选项页框。 (3)在常规页框中,选择备份数据库的名称、操作的名称、描述信息、备份的类型、备份的介质、备份的执行时间。 (4)通过单击添加按钮选择备份设备 。 (5)选择调度复选框,来改变备份的时间安排。 ( 6 )在选项页框中进行附加设置 。
45
2. 使用备份向导 (图 图4-31) 图 欢迎使用向导对话框
46
图 选择数据库对话框
47
图 输入备份名称和描述信息对话框
48
图 选择备份数据库类型对话框
49
图 设置备份介质类型和属性对话框
50
图 备份验证和调度对话框
51
图 确认执行备份操作对话框
52
3. 使用Transact-SQL语句备份数据库
其语法形式如下: Backup database to <backup_file>[,…n] [with [[,]format] [[,]{init|noinit}] [[,]restart] ]
53
4.4 恢复数据库 恢复概述 恢复数据库 恢复系统数据库
54
恢复概述 数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。数据库恢复是指将数据库备份加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。
55
恢复数据库 使用企业管理器恢复数据库 (1)打开企业管理器,单击要登录的数据库服务器,然后从主菜单中选择工具,在菜单中选择还原数据库命令。 (2)在还原为数据库旁的下拉列表中选择要恢复的数据库,在还原组中通过单击单选按钮来选择相应的数据库备份类型。 (3)选中选项页框,进行其它选项的设置 。
56
2. 使用Transact-SQL语句恢复数据库
其语法形式如下: Restore database [from <backup_device[],…n>] [with [[,]file=file_number] [[,]move ‘logical_file_name’ to ‘operating_system_file_name’] [[,]replace] [[,]{norecovery|recovery|standby=undo_file_name}] ] |{disk|tape|pipe}
57
例子4-7:从备份设备中恢复数据库 从backup_company备份设备中恢复数据库company。 程序清单4-7:
use master restore database company from backup_company
58
恢复系统数据库 1. 关闭SQL Server,运行系统安装目录下的bin子目录下的rebuilem.exe文件,这是个命令行程序,运行后可以重新创建系统数据库。 2. 系统数据库重新建立后,启动SQL Server。 3. SQL Server启动后,系统数据库是空的,没有任何系统信息。因此,需要从备份数据库中恢复。一般是先恢复master数据库,再恢复msdb数据库,最后恢复model数据库。
59
4.5 数据库的维护 利用数据库的维护计划向导可以方便地设置数据库的核心维护任务,以便于定期地执行这些任务,其创建数据库维护计划的步骤如下:
4.5 数据库的维护 利用数据库的维护计划向导可以方便地设置数据库的核心维护任务,以便于定期地执行这些任务,其创建数据库维护计划的步骤如下: 如图4-35--图4-49所示
60
图 选择数据库维护计划对话框
61
图 欢迎使用维护计划向导对话框
62
图 选择数据库对话框
63
图 更新数据优化信息对话框
64
图 编辑循环作业调度对话框
65
图 检查数据库完整性对话框
66
图 指定数据库备份计划对话框
67
图 指定数据库备份文件存放目录对话框
68
图 指定事务日志备份计划对话框
69
图 指定事务志文件备份存放目录对话框
70
图 维护计划生成报表对话框
71
图 指定维护计划历史记录存放位置对话框
72
图 指定数据库维护计划名称对话框
73
图 数据库维护计划对象选择对话框
74
图 数据库维护计划编辑对话框
75
Thank you very much! 谢谢您的光临! 下一章
Similar presentations