03创建与管理数据库

上传人:pu****.1 文档编号:578846807 上传时间:2024-08-25 格式:PPT 页数:84 大小:2.71MB
返回 下载 相关 举报
03创建与管理数据库_第1页
第1页 / 共84页
03创建与管理数据库_第2页
第2页 / 共84页
03创建与管理数据库_第3页
第3页 / 共84页
03创建与管理数据库_第4页
第4页 / 共84页
03创建与管理数据库_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《03创建与管理数据库》由会员分享,可在线阅读,更多相关《03创建与管理数据库(84页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2008SQL Server 2008数据库应用与开发数据库应用与开发1清华大学出版社清华大学出版社L o g o第第3 3章章 创建和管理数据库创建和管理数据库2内容提要数据库对象和数据库文件数据库对象和数据库文件 1管理数据库管理数据库 3数据库快照和数据分区管理数据库快照和数据分区管理 5用户数据库创建与修改用户数据库创建与修改2文件组的创建文件组的创建 4L o g o内容介绍q三个问题v数据库是什么样子的 v数据库保存在哪里 v如何创建一个SQL Server 2008的数据库 q两个任务v了解数据库的构成 v按实际情况创建数据库 L o g o内容介绍v使用图

2、形工具创建数据库v用SQL语句创建数据库v数据库的简单管理 L o g o数据库的组成v数据库类型系统数据库用户数据库L o g ov系统数据库存储有关数据库系统的信息,例如master、model、msdb、tempdb。我们使用系统数据库来操作和管理各种数据库数据库的组成L o g o系统数据库vmaster数据库记录SQL Server 2005的所有系统级信息,包括登录帐户和系统配置设置。v model数据库为用户创建新的数据库提供模板。 v msdb数据库是代理服务使用的数据库,代理程序调度警报作业以及记录操作员的操作时使用。 v tempdb数据库保存所有的临时表和临时存储过程。L

3、 o g o数据库的组成q用户数据库是由用户来建立,如学生管理信息数据库,证照管理系统数据库L o g ovSQL Server 2008SQL Server 2008将数据保存于数据库中,并为用将数据保存于数据库中,并为用户提供了访问这些数据的接口。户提供了访问这些数据的接口。v数据库所存储的信息能否正确地反映现实世界,数据库所存储的信息能否正确地反映现实世界,能否在系统运行过程中及时、准确地为各个应用能否在系统运行过程中及时、准确地为各个应用程序提供所需的数据,关系到以此数据库为基础程序提供所需的数据,关系到以此数据库为基础的应用系统的性能。的应用系统的性能。 9L o g o数据库对象和

4、数据库文件数据库对象和数据库文件 1.1.基本概念基本概念v数据库对象数据库对象:SQL Server 2008:SQL Server 2008将数据库映射为一将数据库映射为一组磁盘文件,并将数据与日志信息分别保存于不组磁盘文件,并将数据与日志信息分别保存于不同的磁盘文件中,每个文件仅在与之相关的数据同的磁盘文件中,每个文件仅在与之相关的数据库中使用。因此,从物理角度看,数据库包括数库中使用。因此,从物理角度看,数据库包括数据文件和日志文件。从逻辑角度看,数据库中的据文件和日志文件。从逻辑角度看,数据库中的表、索引、触发器、视图、键、约束、默认值、表、索引、触发器、视图、键、约束、默认值、规则

5、、用户定义数据类型或存储过程及数据库本规则、用户定义数据类型或存储过程及数据库本身,都可以理解为数据库对象。身,都可以理解为数据库对象。 10L o g o数据库对象和数据库文件数据库对象和数据库文件 1.1.基本概念基本概念v数据库所有者数据库所有者: :就是有权限访问数据库的用户,即就是有权限访问数据库的用户,即登录数据库的网络用户。数据库所有者是唯一的,登录数据库的网络用户。数据库所有者是唯一的,拥有该数据库中的全部权限,并能够提供给其他拥有该数据库中的全部权限,并能够提供给其他用户访问权限和功能。用户访问权限和功能。v架构架构: :架构是形成单个命名空间的数据库实体的集架构是形成单个命

6、名空间的数据库实体的集合。命名空间是一个集合,其内部的每个元素的合。命名空间是一个集合,其内部的每个元素的名称都是唯一的。在名称都是唯一的。在 SQL Server 2008 SQL Server 2008 中的默认中的默认架构是架构是DBODBO。如果用户创建数据库时没有指定架构,。如果用户创建数据库时没有指定架构,系统将使用默认架构。系统将使用默认架构。11L o g o数据库对象和数据库文件数据库对象和数据库文件 1.1.基本概念基本概念v数据库文件数据库文件: :每个每个 SQL Server 2008 SQL Server 2008 数据库至少具数据库至少具有两个操作系统文件:一个主

7、数据文件和一个日志有两个操作系统文件:一个主数据文件和一个日志文件。数据文件包含数据和数据库对象,日志文件文件。数据文件包含数据和数据库对象,日志文件包含恢复数据库中的所有事务所需的信息。包含恢复数据库中的所有事务所需的信息。(1 1)主数据文件包含数据库的启动信息,并指向数)主数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件,文件扩展名是有一个主要数据文件,文件扩展名是 . .mdfmdf。 12L o g o

8、数据库对象和数据库文件数据库对象和数据库文件 1.1.基本概念基本概念v数据库文件数据库文件: :(2 2)次要数据文件是可选的,由用户定义并存储用)次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上,文件扩次要文件可用于将数据分散到多个磁盘上,文件扩展名是展名是 . .ndfndf。(3 3)事务日志文件保存用于恢复数据库的日志信息。)事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件,文件扩展名每个数据库必须至少有一个日志文件,文件扩展名是是 . .

9、ldfldf。13L o g o数据库的文件构成类型扩展名作用说明主要数据主要数据文件文件MDF保存数据库中的数据保存数据库中的数据有且只有一个有且只有一个次要数据次要数据文件文件NDF保存数据库中的数据保存数据库中的数据0或多个或多个日志文件日志文件LDF记录所有对数据库的操记录所有对数据库的操作,这些操作当系统出现作,这些操作当系统出现故障时可恢复数据库数据故障时可恢复数据库数据至少一个,最好与数据文至少一个,最好与数据文件存放在不同的物理硬盘中件存放在不同的物理硬盘中文件组文件组无无用于对多个数据文件进行用于对多个数据文件进行分组分组1或多个或多个L o g o数据库对象和数据库文件数据

10、库对象和数据库文件 2.2.创建数据库的规范创建数据库的规范 v创建规范数据库的原则创建规范数据库的原则: :一个数据库中的表是由许一个数据库中的表是由许多行组成的,每个行又由多个列组成,表中要存多行组成的,每个行又由多个列组成,表中要存储的信息,决定该表所包含列的属性。储的信息,决定该表所包含列的属性。(1 1)列的唯一性)列的唯一性(2 2)列的无关性)列的无关性 (3 3)使用主键)使用主键 (4 4)外键)外键 (5 5)收集所需的全部信息。)收集所需的全部信息。(6 6)以最小的逻辑单位存储信息)以最小的逻辑单位存储信息15L o g o数据库对象和数据库文件数据库对象和数据库文件

11、2.2.创建数据库的规范创建数据库的规范 v如何检查数据库的规范化如何检查数据库的规范化(1 1)列信息:是否遗忘了必要的列?是否有需要的信息没)列信息:是否遗忘了必要的列?是否有需要的信息没包括进去?包括进去?(2 2)主键:是否为每个表选择了合适的主键?在使用该主)主键:是否为每个表选择了合适的主键?在使用该主键查找具体行的数据时,它是否很容易记忆和键入?键查找具体行的数据时,它是否很容易记忆和键入? (3 3)重复信息:是否在某个表中重复输入了同样的信息?)重复信息:是否在某个表中重复输入了同样的信息? (4 4)是否存在一个列很多而行却很少的表,而且许多行中)是否存在一个列很多而行却很

12、少的表,而且许多行中的列值为空?如果有,就要考虑重新设计该表。的列值为空?如果有,就要考虑重新设计该表。确定了要做的修改之后,就可以修改表的信息,改进设计方确定了要做的修改之后,就可以修改表的信息,改进设计方案。案。16L o g o数据库的结构数据库的结构q 数据库的逻辑结构数据库的逻辑结构 从逻辑角度,从逻辑角度,SQL Server 2008将数据库组织成为各种将数据库组织成为各种数据库对象,如数据表、视数据库对象,如数据表、视图、索引、数据类型、存储图、索引、数据类型、存储过程、触发器等。这些数据过程、触发器等。这些数据库对象是用户使用数据库的库对象是用户使用数据库的基本单位。右图所示

13、为基本单位。右图所示为SQL Server 2008对象资源管理对象资源管理器中所呈现的各种数据库对器中所呈现的各种数据库对象。象。 L o g o数据库的结构数据库的结构q 数据库的物理结构数据库的物理结构 从物理角度,从物理角度,SQL Server 2005数据库以多种操作数据库以多种操作系统文件形式存储在计算机硬盘上,一般一个数据系统文件形式存储在计算机硬盘上,一般一个数据库被组织成数据文件和日志文件两种类型的文件。库被组织成数据文件和日志文件两种类型的文件。 主要数据文件主要数据文件(.mdf),该文件包含数据库的启动,该文件包含数据库的启动信息,并用于存储数据信息,并用于存储数据

14、次要数据文件次要数据文件(.ndf),它含有不能置于主要数据文,它含有不能置于主要数据文件中的数据。件中的数据。 日志文件日志文件(.ldf),记录了用户对数据库的所有操作。,记录了用户对数据库的所有操作。 q 文件组文件组 文件组是数据库中数据文件的逻辑组合。文件组是数据库中数据文件的逻辑组合。L o g o数据库对象和数据库文件数据库对象和数据库文件 3.3. 数据库的存储数据库的存储 vSQL Server 2008SQL Server 2008数据库是以文件的方式存储到磁数据库是以文件的方式存储到磁盘中,其中数据文件和日志文件的文件结构不同,盘中,其中数据文件和日志文件的文件结构不同,

15、存储方式也不一样,如图存储方式也不一样,如图3-13-1所示。所示。 图图3-1数据的存储方式数据的存储方式19L o g o数据库对象和数据库文件数据库对象和数据库文件 3.3. 数据库的存储数据库的存储 v数据文件的存储结构:从数据文件的存储结构:从SQL Server 2008SQL Server 2008数据库数据库的物理架构上来看,的物理架构上来看,SQL ServerSQL Server用于存储数据的基用于存储数据的基本单位是页,每页容量为本单位是页,每页容量为8KB8KB。也就是说数据库对。也就是说数据库对应磁盘文件在逻辑上可以被划分为多个页。应磁盘文件在逻辑上可以被划分为多个页

16、。(1 1)数据页。)数据页。SQL ServerSQL Server将将8KB8KB的数据划分为一页。的数据划分为一页。(2 2)扩展盘区()扩展盘区(ExtentsExtents)。数据页是)。数据页是SQL ServerSQL Server数数据库读写数据的基本单位,扩展盘区就是管理存储据库读写数据的基本单位,扩展盘区就是管理存储空间的基本单位。一个扩展盘区由空间的基本单位。一个扩展盘区由8 8个物理上连续个物理上连续的页(的页(64 KB64 KB)组成。)组成。 20L o g o数据库对象和数据库文件数据库对象和数据库文件 3.3. 数据库的存储数据库的存储 v日志文件的存储结构:

17、日志文件的存储结构:SQL ServerSQL Server数据库提供的日数据库提供的日志功能可以记录数据行从数据库创建到当前时刻对志功能可以记录数据行从数据库创建到当前时刻对数据库所做的全部更改。针对数据库中任何一行执数据库所做的全部更改。针对数据库中任何一行执行的操作都将被作为一个日志行,并在事务提交时行的操作都将被作为一个日志行,并在事务提交时写入日志文件中。写入日志文件中。SQL Server 2008SQL Server 2008中的事物日志中的事物日志功能一般用于恢复指定事务,还原的数据库、文件、功能一般用于恢复指定事务,还原的数据库、文件、文件组或页前滚至故障点,支持事务性复制和

18、备份文件组或页前滚至故障点,支持事务性复制和备份服务器解决方案,实现在服务器解决方案,实现在SQL Server SQL Server 启动时恢复启动时恢复所有未完成的事务。所有未完成的事务。 21L o g o数据库对象和数据库文件数据库对象和数据库文件 3.3. 数据库的存储数据库的存储 v日志文件的存储结构日志文件的存储结构(1 1)SQL ServerSQL Server数据库日志的物理结构。日志文件并不包括数据库日志的物理结构。日志文件并不包括在文件组内,在文件组内,SQL Server 2008SQL Server 2008的日志文件中包含着一系列的日志文件中包含着一系列日志行。日

19、志行。 (2 2)SQL ServerSQL Server数据库日志的逻辑结构。数据库日志的逻辑结构。SQL Server 2008SQL Server 2008数据库中的事务日志以日志行为单位。每条日志行是由一数据库中的事务日志以日志行为单位。每条日志行是由一个日志序列号(个日志序列号(Log Sequence NumLog Sequence Num,LSNLSN)标识。)标识。 (3 3)SQL Server 2008SQL Server 2008将数据库的回滚操作也放到日志中。将数据库的回滚操作也放到日志中。 22L o g o用户数据库创建与修改用户数据库创建与修改 v一个一个 SQL

20、 Server SQL Server 实例,可以创建实例,可以创建3200032000多多个用户数据库。在创建数据库之前,首先个用户数据库。在创建数据库之前,首先用户应该清楚是否有相关的权限。用户应该清楚是否有相关的权限。v要创建数据库,必须至少拥有要创建数据库,必须至少拥有 CREATE CREATE DATABASEDATABASE、CREATE ANY DATABASE CREATE ANY DATABASE 或或 ALTER ANY DATABASE ALTER ANY DATABASE 等语句的权限。其次,等语句的权限。其次,创建数据库的用户将成为该数据库的所有创建数据库的用户将成为

21、该数据库的所有者。者。 23L o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v在在SQL ServerSQL Server中,用户要创建数据库,必须确定数据库的中,用户要创建数据库,必须确定数据库的名称、所有者、大小以及存储该数据库的文件和文件组。名称、所有者、大小以及存储该数据库的文件和文件组。数据库名称必须遵循为标识符指定的规则。数据库名称必须遵循为标识符指定的规则。(1 1)数据库名称长度为)数据库名称长度为11281128个字符。个字符。(2 2)名称首字符必须是一个英文字母或)名称首字符必须是一个英文字母或“_ _ ”、“# #”和和“

22、 ”中的任意字符。中的任意字符。(3 3)在中文版)在中文版SQL Server 2008SQL Server 2008中,可以直接使用汉字为数中,可以直接使用汉字为数据库命名。据库命名。(4 4)名称中不能出现空格,不允许使用)名称中不能出现空格,不允许使用SQL Server 2008SQL Server 2008的的保留字。保留字。 24L o g oq 使用对象资源管理器创建用户数据库使用对象资源管理器创建用户数据库q 使用使用T-SQL语句创建用户数据库语句创建用户数据库创建用户数据库创建用户数据库用户数据库创建与修改用户数据库创建与修改 L o g o用户数据库创建与修改用户数据库

23、创建与修改 1.1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库 (1 1)启动)启动SQL Server Management StudioSQL Server Management Studio,在对象,在对象资源管理器中,右击资源管理器中,右击“数据库数据库”选项,在弹出的选项,在弹出的快捷菜单中选择快捷菜单中选择“新建数据库新建数据库”命令,如图命令,如图3-23-2所所示,打开示,打开“新建数据库新建数据库”窗口。窗口。图图3-2新建数据库新建数据库26L

24、 o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库在在“新建数据库新建数据库”窗口中的窗口中的“常规常规”选项卡,如选项卡,如图图3-33-3所示。所示。图图3-3设置设置“常规常规”选项卡选项卡27L o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio

25、中创建数据库中创建数据库 (2 2)切换到)切换到“新建数据库新建数据库”窗口中的窗口中的“选项选项”选选项卡中,如图项卡中,如图3-43-4所示。其中有以下几个可选项。所示。其中有以下几个可选项。 图图3-4设置设置“选项选项”选项卡选项卡28L o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库(3 3)切换到)切换到“文件组文件组”选项卡进行设置,如图选项卡进行设置,如图3-53-5所示。所示。(4 4)如

26、果要添加文件组,可以单击)如果要添加文件组,可以单击“添加添加”按钮,按钮,然后输入文件组的名称。所有参数设置完毕后,然后输入文件组的名称。所有参数设置完毕后,单击单击“确定确定”按钮,新的数据库就创建成功。按钮,新的数据库就创建成功。展开对象资源管理器中的数据库项,就可以观察到展开对象资源管理器中的数据库项,就可以观察到test01test01数据库已经创建成功。数据库已经创建成功。图图3-5设置设置“文件组文件组”选项卡选项卡29L o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v利用利用Transact-SQLTransact-SQL语句创建

27、数据库语句创建数据库在在SQL SQL Server Server 20082008中中,也也可可以以利利用用Transact-SQLTransact-SQL提提供供的的CREATE CREATE DATABASEDATABASE语语句句来来创创建建数数据据库库。创创建建步步骤骤为为:选选择择“文文件件”| |“新新建建”| |“使使用用当当前前连连接接查查询询”命命令令,弹弹出出查查询询设设计计器器窗窗口口,在在该该窗窗口口中中编写编写Transact-SQLTransact-SQL语句。语句。 (1)CREATEDATABASE语句的基本格式语句的基本格式CREATEDATABASEdat

28、abase_name-设置数据库名称设置数据库名称ON- 设置数据文件设置数据文件PRIMARY,.n,.n-设置文件组设置文件组LOGON,.n-设置日志文件设置日志文件COLLATEcollation_name-设置排序规则名称设置排序规则名称WITH-设置外部访问设置外部访问;30L o g oq 使用使用T-SQL语句创建用户数据库的语法格式语句创建用户数据库的语法格式CREATE DATABASE database_nameON PRIMARY (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_si

29、ze|UNLIMTED,FILEGROWTH=grow_increment),nLOG ON (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMTED,FILEGROWTH=grow_increment),n用户数据库创建与修改用户数据库创建与修改 L o g o参数说明database_name要建立的数据库名称PRIMARY在主文件组中指定文件。ON指定存储数据库数据部分的磁盘文件(数据文件)。LOG ON指定建立数据库的日志文件。NAME指定数据或日志文件的文件名称FILENAME指

30、定文件的操作系统文件名和路径。os_file_name中的路径必须指定为SQL Server所安装服务器上的某个文件夹。SIZE指定数据或日志文件的大小。用户可以以MB为单位指定大小,也可以使用默认单位KB来指定大小。当添加数据文件或日志文件时,其默认大小是1MB。MAXSIZE指定文件能够增长到的最大长度。默认单位为KB,用户也可以以MB来指定该长度。如果没有指定长度的话,文件将一直增长直到磁盘满为止。要建立的数据库大小单位为MB。FILEGROWTH指定文件的增长增量。该参数设置不能超过MAXSIZE参数。指定值的默认单位为MB,用户也可以以KB为单位进行指定,此外还可以使用百分比(%)。

31、如果该参数没有指定的话,默认值为10,最小值为64KB。用户数据库创建与修改用户数据库创建与修改 L o g o用户数据库创建与修改用户数据库创建与修改 1.1.用户数据库的创建用户数据库的创建v利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库【例【例3.13.1】 创建数据库创建数据库studentstudent,并指定数据库的数据文件所在位置、初,并指定数据库的数据文件所在位置、初始容量、最大容量和文件增长量。始容量、最大容量和文件增长量。程序代码如下:程序代码如下:CREATE DATABASE studentCREATE DATABASE stude

32、ntONON( ( NAME=student, NAME=student, FILENAME = D: FILENAME = D:sqlprogramstudent.mdfsqlprogramstudent.mdf, SIZE = 5MB, SIZE = 5MB, MAXSIZE = 10MB, MAXSIZE = 10MB, FILEGROWTH = 5% FILEGROWTH = 5%) )GO GO 【例例3.2】创建数据库创建数据库teaching,并指定数据库的,并指定数据库的数据文件和日志文件的所在位置、初始容量、最大容数据文件和日志文件的所在位置、初始容量、最大容量和文件增长量。

33、量和文件增长量。程序代码如下:程序代码如下:CREATEDATABASEteachingONPRIMARY(NAME=teaching,FILENAME=D:sqlprogramteaching.mdf,SIZE=4MB,MAXSIZE=30MB,FILEGROWTH=1MB)LOGON(NAME=teaching_log,FILENAME=D:sqlprogramteaching_log.ldf,SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=10%)COLLATEChinese_PRC_CI_ASGO33L o g o用户数据库创建与修改用户数据库创建与修改v练习:创建一

34、个名为练习:创建一个名为studentstudent的用户数据库,其数的用户数据库,其数据文件初始大小为据文件初始大小为3MB3MB,最大大小为,最大大小为50MB50MB,v文件大小增长增量为文件大小增长增量为1MB1MB,日志文件初始大小为,日志文件初始大小为1MB1MB,最大大小为,最大大小为12.5MB12.5MB,文件增长增量为,文件增长增量为10%10%。L o g o用户数据库创建与修改用户数据库创建与修改 2.2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主

35、要步骤如下:主要步骤如下:(1 1)启动)启动SQL Server Management StudioSQL Server Management Studio,在对象,在对象资源管理器中,用户可以右击所选择的数据库资源管理器中,用户可以右击所选择的数据库 test01test01,在弹出的快捷菜单中选择,在弹出的快捷菜单中选择“属性属性”命令命令打开打开“数据库属性数据库属性”窗口,如图窗口,如图3-63-6所示。所示。在在“数数据库属性据库属性”窗口的窗口的“常规常规”选项卡中,显示的是选项卡中,显示的是数据库的基本信息,这些信息不能修改。数据库的基本信息,这些信息不能修改。图图3-6“数据

36、库属性数据库属性”窗口窗口35L o g o用户数据库创建与修改用户数据库创建与修改 2.2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主要步骤如下:主要步骤如下:(2 2)单击)单击“文件文件”选项卡,如图选项卡,如图3-73-7所示,可以修所示,可以修改数据库的逻辑名称、初始大小、自动增长等属改数据库的逻辑名称、初始大小、自动增长等属性,也可以根据需要添加数据文件和日志文件,性,也可以根据需要添加数据文件和日志文件,还可以更改数据库的所有者。还可以更改数据库的所有者。图

37、图3-7修改修改“数据库属性数据库属性”36L o g o用户数据库创建与修改用户数据库创建与修改 2.2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主要步骤如下:主要步骤如下:(3 3)在)在“文件组文件组”选项卡中,可以修改现有的文件组,选项卡中,可以修改现有的文件组,也可以指定数据库的默认文件组、添加新文件组。也可以指定数据库的默认文件组、添加新文件组。(4 4)在)在“选项选项”选项卡中,修改数据库的排序规则。选项卡中,修改数据库的排序规则。“数据库属性数据库属性”

38、窗口包含的各种属性,只要需要,就窗口包含的各种属性,只要需要,就可以选择相应的选项卡来修改。可以选择相应的选项卡来修改。图图3-8添加数据库文件添加数据库文件 37L o g o用户数据库创建与修改用户数据库创建与修改 2.2.修改数据库修改数据库 v使用使用Transact-SQLTransact-SQL语句修改数据库语句修改数据库 Transact-SQL Transact-SQL提供了修改数据库的语句提供了修改数据库的语句ALTER ALTER DATABASEDATABASE。ALTERDATABASEdatabase_name-需修改的数据库名需修改的数据库名-增加或修改数据库文件增

39、加或修改数据库文件|-增加或修改数据库文件组增加或修改数据库文件组|-设置数据库选项设置数据库选项|MODIFYNAME=new_database_name-数据库重命名数据库重命名|COLLATEcollation_name-更改排序规则更改排序规则;38L o g o用户数据库创建与修改用户数据库创建与修改 2.2.修改数据库修改数据库 v使用使用Transact-SQLTransact-SQL语句修改数据库语句修改数据库【例例3.33.3】 为为studentstudent数据库增加一个日志文件。数据库增加一个日志文件。 ALTER DATABASE student ALTER DATA

40、BASE studentADD LOG FILEADD LOG FILE( (NAME= NAME= stud_logstud_log, ,FILENAME=F:FILENAME=F:sqlprogramstud_log.LDFsqlprogramstud_log.LDF,SIZE=2 MB,SIZE=2 MB,MAXSIZE=6 MB,MAXSIZE=6 MB,FILEGROWTH=1MBFILEGROWTH=1MB) )【例例3.4】修改修改student数据库的排序规则。数据库的排序规则。程序代码如下:程序代码如下:ALTERDATABASEstudentCOLLATEChinese_P

41、RC_CI_AS_KS【例例3.5】给给student数据库添加文件组数据库添加文件组studentfgrp,再添加数据文件再添加数据文件studentfile.ndf到文件组到文件组studentfgrp中。中。程序代码如下:程序代码如下:ALTERDATABASEstudentADDFILEGROUPstudentfgrpGOALTERDATABASEstudentADDFILE(NAME=studentfile,FILENAME=F:sqlprogramstudentfile.ndf)TOFILEGROUPstudentfgrpGO39L o g o用户数据库创建与修改用户数据库创建与修

42、改 3.3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的脚本代码 在在SQL ServerSQL Server中,要对数据库对象执行基本操作中,要对数据库对象执行基本操作时,通常需要编写时,通常需要编写SQLSQL脚本。对于常见数据库对象脚本。对于常见数据库对象的基本操作,的基本操作,SQL ServerSQL Server提供了快速生成操作脚提供了快速生成操作脚本的功能。本的功能。 图图3-9创建脚本代码创建脚本代码40L o g o用户数据库创建与修改用户数据库创建与修改 3.3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的脚本代码 系统

43、将打开一个新查询编辑器窗口,执行连接并系统将打开一个新查询编辑器窗口,执行连接并显示完整显示完整CREATE DATABASECREATE DATABASE的语句。结果如图的语句。结果如图3-103-10所示。所示。图图3-10自动生成的查询脚本自动生成的查询脚本41L o g o用户数据库创建与修改用户数据库创建与修改 3.3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的脚本代码 在数据库及其对象的许多对话框的操作过程中,在数据库及其对象的许多对话框的操作过程中,通过单击通过单击“脚本脚本”按钮,也可以得到当前操作的按钮,也可以得到当前操作的脚本,具体操作如图脚本,

44、具体操作如图3-113-11所示。所示。 图图3-11“脚本脚本”按钮的使用按钮的使用42L o g o用户数据库创建与修改用户数据库创建与修改 3.3.数据库文件的脚本生成数据库文件的脚本生成v使用模板创建脚本代码使用模板创建脚本代码(1 1)在)在 Management Studio Management Studio 的的“查看查看”菜单上,单击菜单上,单击“模模板资源管理器板资源管理器”命令。命令。(2 2)模板资源管理器中的模板是分组列出的,先展开)模板资源管理器中的模板是分组列出的,先展开“SQL SQL Server Server 模板模板”| |DATABASEDATABASE

45、,子目录,再双击,子目录,再双击CREATE CREATE DATABASEDATABASE。(3 3)在)在“连接到数据库引擎连接到数据库引擎”对话框中,填写连接信息,对话框中,填写连接信息,再单击再单击“连接连接”按钮。此时将打开一个新查询编辑器窗口,按钮。此时将打开一个新查询编辑器窗口,其中包含其中包含“创建数据库创建数据库”模板的内容,模板的内容, 43L o g o用户数据库创建与修改用户数据库创建与修改 3.3.数据库文件的脚本生成数据库文件的脚本生成v使用模板创建脚本代码使用模板创建脚本代码(4 4)单击菜单)单击菜单“查询查询”| |“指定模板参数的值指定模板参数的值”菜菜单命

46、令,弹出单命令,弹出“指定模板参数的值指定模板参数的值”对话框,如对话框,如图图3-123-12所示。所示。 (5 5)在)在“指定模板参数的值指定模板参数的值”对话框中,对话框中,“值值”列列包含一个包含一个Database_NameDatabase_Name参数的建议值。在参数的建议值。在“值值”参数框中,输入参数框中,输入test02test02,再单击,再单击“确定确定”按钮。按钮。(6 6)系统自动用输入的)系统自动用输入的test02test02替代了上述参数值替代了上述参数值 图图3-12指定模板参数的值指定模板参数的值44L o g o管理数据库管理数据库 1.1.查看数据库状

47、态信息查看数据库状态信息 v在实际生产过程中的数据库总是处于一个特定的在实际生产过程中的数据库总是处于一个特定的状态中,若要确认数据库的当前状态,通过状态中,若要确认数据库的当前状态,通过“数数据库属性据库属性”窗口的窗口的“常规常规”选项卡查看数据库属选项卡查看数据库属性以外,还可以选择性以外,还可以选择 sys.databasessys.databases 目录视图中目录视图中的的 state_descstate_desc 列。在查询设计器窗口中输入如列。在查询设计器窗口中输入如下代码并执行,如图下代码并执行,如图3-133-13所示。所示。 Select Select name,stat

48、e,state_descname,state,state_desc From From sys.databasessys.databases图图3-13数据库的状态信息数据库的状态信息45L o g o管理数据库管理数据库 1.1.查看数据库状态信息查看数据库状态信息 v在在 SQL Server 2008 SQL Server 2008 中,数据库文件的状态独立中,数据库文件的状态独立于数据库的状态。如果数据库处于离线状态,则于数据库的状态。如果数据库处于离线状态,则可以从可以从 sys.master_filessys.master_files 目录视图中查看文件目录视图中查看文件的状态。如

49、图的状态。如图3-143-14所示。所示。 可以在查询设计器窗口中输入如下代码并执行,即可查可以在查询设计器窗口中输入如下代码并执行,即可查看到相关数据文件的状态信息。看到相关数据文件的状态信息。Select Select name,physical_name,type,type_desc,statename,physical_name,type,type_desc,state, , state_descstate_descFrom From sys.master_filessys.master_files图图3-14数据库文件的状态信息数据库文件的状态信息46L o g o管理数据库管理数据

50、库 1.1.查看数据库状态信息查看数据库状态信息 v数据库状态含义数据库状态含义ONLINEONLINE表示可以对数据库进行访问。表示可以对数据库进行访问。OFFLINEOFFLINE表示数据库无法使用。表示数据库无法使用。RESTORINGRESTORING表示正在还原主文件组的一个或多个表示正在还原主文件组的一个或多个文件,或正在离线还原一个或多个辅助文件,文件,或正在离线还原一个或多个辅助文件,此时数据库不可用。此时数据库不可用。RECOVERINGRECOVERING表示正在恢复数据库。表示正在恢复数据库。47L o g o管理数据库管理数据库 1.1.查看数据库状态信息查看数据库状态

51、信息 v数据库状态含义数据库状态含义ECOVERY PENDINGECOVERY PENDING表示表示SQL Server SQL Server 在恢复过程中遇到在恢复过程中遇到了与资源相关的错误,数据库未损坏,但是可能缺少了与资源相关的错误,数据库未损坏,但是可能缺少文件,或系统资源限制可能导致无法启动数据库。此文件,或系统资源限制可能导致无法启动数据库。此时数据库不可用。时数据库不可用。 SUSPECT SUSPECT表示至少主文件组可疑或可能已损坏。表示至少主文件组可疑或可能已损坏。 EMERGENCY EMERGENCY表示用户更改了数据库,并将其状态设置表示用户更改了数据库,并将其

52、状态设置为为 EMERGENCYEMERGENCY。数据库处于单用户模式,可以修复或。数据库处于单用户模式,可以修复或还原。还原。48L o g o管理数据库管理数据库 1.1.查看数据库状态信息查看数据库状态信息 v数据库文件状态含义数据库文件状态含义ONLINEONLINE表示文件可用于所有操作。如果数据库本身处于表示文件可用于所有操作。如果数据库本身处于在线状态,则主文件组中的文件始终处于在线状态。在线状态,则主文件组中的文件始终处于在线状态。OFFLINEOFFLINE表示文件不可访问,并且可能不显示在磁盘中。表示文件不可访问,并且可能不显示在磁盘中。文件通过显式用户操作变为离线,并在

53、执行其他用户操文件通过显式用户操作变为离线,并在执行其他用户操作之前保持离线状态。作之前保持离线状态。49L o g o管理数据库管理数据库 1.1.查看数据库状态信息查看数据库状态信息 v数据库文件状态含义数据库文件状态含义RESTORINGRESTORING表示正在还原文件。表示正在还原文件。RECOVERY PENDINGRECOVERY PENDING表示文件恢复被推迟。表示文件恢复被推迟。SUSPECTSUSPECT表示在线还原过程中,恢复文件失败。如果文表示在线还原过程中,恢复文件失败。如果文件位于主文件组,则数据库还将标记为可疑。否则,件位于主文件组,则数据库还将标记为可疑。否则

54、,仅文件处于可疑状态,而数据库仍处于在线状态。仅文件处于可疑状态,而数据库仍处于在线状态。DEFUNCTDEFUNCT表示当文件不处于在线状态时被删除。表示当文件不处于在线状态时被删除。50L o g o管理数据库管理数据库 2.2. 数据库的属性设置数据库的属性设置 v数据库更名数据库更名: :一种方法是一种方法是SQL SQL ServerManagementServerManagement Studio Studio中选中此数据中选中此数据库,右击鼠标,在弹出的快捷菜单中选择库,右击鼠标,在弹出的快捷菜单中选择“重命名重命名”。或。或者直接利用者直接利用ALTER DATABASEALT

55、ER DATABASE命令来实现。命令来实现。另一种方法是使用系统存储过程另一种方法是使用系统存储过程sp_renamedbsp_renamedb更改数据库更改数据库的名称。在重命名数据库之前,应该确保没有用户正在使的名称。在重命名数据库之前,应该确保没有用户正在使用该数据库。用该数据库。系统存储过程系统存储过程sp_renamedbsp_renamedb语法如下:语法如下: sp_renamedbsp_renamedb dbnamedbname=old_nameold_name,newname,newname=new_namenew_name 【例例3.63.6】将名为将名为students

56、tudent数据库改名为数据库改名为STUDENTDBSTUDENTDB。51L o g o管理数据库管理数据库 2.2. 数据库的属性设置数据库的属性设置 v限制用户对数据库的访问限制用户对数据库的访问: :在在SQL Server 2008 SQL Server 2008 的运行过的运行过程中,有时需要限制用户的访问,例如程中,有时需要限制用户的访问,例如, ,在数据库在数据库test01test01的的“数据库属性数据库属性”对话框中选择对话框中选择“选项选项”选项卡,选择选项卡,选择“状态状态”| |“限制访问限制访问”下拉框,出现下拉框,出现3 3个选项。个选项。 MultipleM

57、ultiple: 数据库处于正常生产状态,允许多个用数据库处于正常生产状态,允许多个用户同时访问数据库。户同时访问数据库。 SingleSingle:指定一次只能一个用户访问,其他用户的连:指定一次只能一个用户访问,其他用户的连接被中断。接被中断。 RestrictedRestricted:限制除:限制除db_owerdb_ower(数据库所有者)、(数据库所有者)、 dbcreatordbcreator (数据库创建者)和(数据库创建者)和sysadminsysadmin(系统管理(系统管理员)以外的角色成员访问数据库,但对数据库的连接员)以外的角色成员访问数据库,但对数据库的连接不加限制。

58、一般在维护数据库时,将数据库设置为该不加限制。一般在维护数据库时,将数据库设置为该状态。状态。52L o g o管理数据库管理数据库 2.2. 数据库的属性设置数据库的属性设置 v修改数据库的排序规则修改数据库的排序规则(1 1)了解排序规则的含义。以)了解排序规则的含义。以Chinese_PRC_CS_AI_WSChinese_PRC_CS_AI_WS为例,为例,该规则可以分成两部分来理解。前半部分指排序规则所支该规则可以分成两部分来理解。前半部分指排序规则所支持的字符集,如持的字符集,如Chinese_PRCChinese_PRC_ _表示对简体字表示对简体字UNICODEUNICODE的

59、排的排序规则,而后半部分常见的组合的含义如下。序规则,而后半部分常见的组合的含义如下。 _BIN_BIN:二进制排序。:二进制排序。 _CI(CS)_CI(CS):是否区分大小写,:是否区分大小写,CICI不区分,不区分,CSCS区分。区分。 _AI(AS)_AI(AS):是否区分重音,:是否区分重音,AIAI不区分,不区分,ASAS区分。区分。 _KI(KS)_KI(KS):是否区分假名类型,:是否区分假名类型,KIKI不区分,不区分,KSKS区分。区分。 _WI(WS)_WI(WS):是否区分宽度,:是否区分宽度,WIWI不区分,不区分,WSWS区分。区分。(2 2)排序规则的层次。)排序

60、规则的层次。 SQL Server 2008 SQL Server 2008 的排序规则分为的排序规则分为3 3个层次:服务器排序规则、数据库排序规则和表的排序个层次:服务器排序规则、数据库排序规则和表的排序规则。规则。53L o g o管理数据库管理数据库 2.2. 数据库的属性设置数据库的属性设置 v更改数据库所有者更改数据库所有者(1 1)在数据库属性窗体中选择)在数据库属性窗体中选择“文件文件”选项卡,然选项卡,然后单击后单击“所有者所有者”文本框后面的文本框后面的按钮,则会弹按钮,则会弹出出“选择数据库所有者选择数据库所有者”对话框,如图对话框,如图3-173-17所示。所示。图图3

61、-17选择数据库所有者选择数据库所有者54L o g o管理数据库管理数据库 2.2. 数据库的属性设置数据库的属性设置 v更改数据库所有者更改数据库所有者(2 2)单击)单击“浏览浏览”按钮,则会弹出按钮,则会弹出“查找对象查找对象”对对话框,如图话框,如图3-183-18所示。所示。(3 3)在)在“匹配的对象匹配的对象”列表框中选择数据库所有者,列表框中选择数据库所有者,单击单击“”按钮即可实现更改数据库所有者的操作。按钮即可实现更改数据库所有者的操作。 图图3-18查找数据库所有者对象查找数据库所有者对象55L o g o管理数据库管理数据库 3.3. 估算数据库大小估算数据库大小v影

62、响数据库大小的因素影响数据库大小的因素要估计数据库的大小,需要考虑如下一些因素。要估计数据库的大小,需要考虑如下一些因素。 modelmodel数据库和系统表的大小,包括预测到的增数据库和系统表的大小,包括预测到的增长。长。 表中数据的总量,包括预测到的增长。表中数据的总量,包括预测到的增长。 索引的数量和大小,特别是键值的大小索引的数量和大小,特别是键值的大小. . 影响事务日志大小的因素,更改活动的总量和频影响事务日志大小的因素,更改活动的总量和频率,每一个事务的大小以及备份日志的频率。率,每一个事务的大小以及备份日志的频率。 系统表的大小。系统表的大小。56L o g o管理数据库管理数

63、据库 3.3. 估算数据库大小估算数据库大小v估计表中数据的总量估计表中数据的总量在确定分配给数据库的空间大小后,应该估计表中数据在确定分配给数据库的空间大小后,应该估计表中数据的总量,具体可以采用如下方法。的总量,具体可以采用如下方法。 通过统计每列包含的字节数,计算通过统计每列包含的字节数,计算1 1行的字节数量。行的字节数量。对于列中定义为可变长度,可以采用取平均值的方法对于列中定义为可变长度,可以采用取平均值的方法估算。估算。 确定平均每一个数据页包含行的数目。即用确定平均每一个数据页包含行的数目。即用80608060除以除以1 1行的字节数,取整即可得到结果。行的字节数,取整即可得到

64、结果。 表中行的近似数目除以一个数据页包含的行数,结果表中行的近似数目除以一个数据页包含的行数,结果就是需要存储到表中的页数就是需要存储到表中的页数 。57L o g o管理数据库管理数据库 4 4 收缩数据库收缩数据库v在在SQL Server 2008SQL Server 2008中当为数据库分配的磁盘空间中当为数据库分配的磁盘空间过大时,可以收缩数据库,以节省存储空间。数过大时,可以收缩数据库,以节省存储空间。数据文件和事务日志文件都可以进行收缩。数据库据文件和事务日志文件都可以进行收缩。数据库也可设置为按给定的时间间隔自动收缩。也可设置为按给定的时间间隔自动收缩。v设置自动收缩数据库设

65、置自动收缩数据库: :设置数据库的自动收缩,可设置数据库的自动收缩,可以在数据库的属性中以在数据库的属性中“选项选项”选项卡页面中设置,选项卡页面中设置,只要将选项中的只要将选项中的“自动收缩自动收缩”设为设为TrueTrue即可。即可。 58L o g o管理数据库管理数据库 4 4 收缩数据库收缩数据库v手动收缩数据库手动收缩数据库手动收缩用户数据库的步骤。手动收缩用户数据库的步骤。(1 1)在)在SQL Server Management StudioSQL Server Management Studio中,右击相应的数中,右击相应的数据库,如据库,如test01test01,从弹出的

66、快捷菜单中依次选择,从弹出的快捷菜单中依次选择“任务任务”| |“收缩收缩”| |“数据库数据库”命令。命令。(2 2)在弹出的对话框中进行设置,如图)在弹出的对话框中进行设置,如图3-193-19所示。数据库所示。数据库test01test01的当前分配空间为的当前分配空间为17MB17MB,设置收缩后的最大空间为,设置收缩后的最大空间为45%45%,单击,单击“确定确定”按钮,即可完成操作。系统将根据数按钮,即可完成操作。系统将根据数据库的具体情况对数据库进行收缩。据库的具体情况对数据库进行收缩。图图3-19设置收缩数据库设置收缩数据库59L o g o管理数据库管理数据库 4 4 收缩数

67、据库收缩数据库v手动收缩数据库手动收缩数据库手动收缩用户数据库的步骤。手动收缩用户数据库的步骤。(3 3)如果单击)如果单击“脚本脚本”按钮,系统还能够将收缩操按钮,系统还能够将收缩操作的脚本显示到作的脚本显示到“新建查询新建查询”界面中,结果如下。界面中,结果如下。USE test01USE test01GOGODBCC SHRINKDATABASE(Ntest01, 47 )DBCC SHRINKDATABASE(Ntest01, 47 )GOGO60L o g o管理数据库管理数据库 4 4 收缩数据库收缩数据库v手动收缩数据库文件手动收缩数据库文件 (1 1)在)在SQL Server

68、 Management StudioSQL Server Management Studio中,右击相中,右击相应的数据库,如应的数据库,如test01test01,从弹出的快捷菜单中选,从弹出的快捷菜单中选择择“任务任务”| |“收缩收缩”| |“文件文件”命令。命令。(2 2)在弹出的对话框中进行设置,如图)在弹出的对话框中进行设置,如图3-203-20所示。所示。数据库数据库test01test01的数据文件当前分配空间为的数据文件当前分配空间为15MB15MB,设置收缩数据库文件参数,单击设置收缩数据库文件参数,单击“确定确定”按钮,按钮,即可完成操作。即可完成操作。图3-20 收收缩

69、数据数据库文件文件61L o g o管理数据库管理数据库 5.5.分离和附加用户数据库分离和附加用户数据库v分离用户数据库分离用户数据库(1 1)在)在SQL Server Management StudioSQL Server Management Studio中,右击相中,右击相应的数据库,如应的数据库,如test02test02,从弹出的快捷菜单中依,从弹出的快捷菜单中依次选择次选择“任务任务”|“|“分离分离”命令。命令。(2 2)在弹出的对话框中进行设置,如图)在弹出的对话框中进行设置,如图3-213-21所示。所示。设置数据库设置数据库test02test02的分离参数,单击的分离

70、参数,单击“确定确定”按按钮,即可完成操作。钮,即可完成操作。图3-21 分离数据分离数据库62L o g o管理数据库管理数据库 5.5.分离和附加用户数据库分离和附加用户数据库v附加数据库:附加数据库可以将已经分离的数据库附加数据库:附加数据库可以将已经分离的数据库重新附加到当前或其他重新附加到当前或其他SQL Server 2008SQL Server 2008的实例。的实例。(1 1)在)在SQL Server Management StudioSQL Server Management Studio中,右击中,右击“对象资源管理器对象资源管理器”中中“数据库数据库”,从弹出的快捷菜,

71、从弹出的快捷菜单中选择单中选择 “ “附加附加”命令。命令。(2 2)在弹出的在弹出的“附加数据库附加数据库”对话框中,单击对话框中,单击“添添加加”按钮,在弹出的按钮,在弹出的“数据库定位文件数据库定位文件”界面中,界面中,选择要添加的数据库的主数据文件,如图选择要添加的数据库的主数据文件,如图3-223-22所示所示图3-22 定位数据定位数据库63L o g o管理数据库管理数据库 5.5.分离和附加用户数据库分离和附加用户数据库v附加数据库:附加数据库: (3 3)单击)单击“确定确定”按钮,返回按钮,返回“附加数据库附加数据库”对话对话框。如图框。如图3-233-23所示。单击所示。

72、单击“确定确定”按钮,数据库按钮,数据库test02test02就附加到当前的实例中了。就附加到当前的实例中了。图3-23 附加数据附加数据库64L o g o管理数据库管理数据库 6.6.联机和脱机用户数据库联机和脱机用户数据库v脱机用户数据库脱机用户数据库(1 1)在)在SQL Server Management StudioSQL Server Management Studio中,右击相中,右击相应的数据库,如应的数据库,如test02test02,从弹出的快捷菜单中依次,从弹出的快捷菜单中依次选择选择“任务任务”|“|“脱机脱机”命令。弹出如图命令。弹出如图3-243-24所示所示的

73、对话框。的对话框。(2 2)完成脱机过程后,单击)完成脱机过程后,单击“关闭关闭”按钮。系统中按钮。系统中将数据库标注为脱机数据库将数据库标注为脱机数据库图3-24 脱机数据脱机数据库65L o g o管理数据库管理数据库 6.6.联机和脱机用户数据库联机和脱机用户数据库v联机用户数据库联机用户数据库(1 1)在)在SQL Server Management StudioSQL Server Management Studio中,右击已中,右击已经脱机的数据库经脱机的数据库 ,从弹出的快捷菜单中依次选择,从弹出的快捷菜单中依次选择“任务任务”|“|“联机联机”。弹出如图。弹出如图3-253-2

74、5所示的对话框。所示的对话框。(2 2)完成联机过程后,单击)完成联机过程后,单击“关闭关闭”按钮,系统中按钮,系统中将数据库恢复原样。将数据库恢复原样。图3-25 联机数据机数据库66L o g o管理数据库管理数据库 7.7.删除数据库删除数据库v使用使用SQL Server Management StudioSQL Server Management Studio删除数据库删除数据库 启动启动SQL Server Management StudioSQL Server Management Studio界面,连接界面,连接到本地数据库默认实例。在对象资源管理器中,展到本地数据库默认实例。

75、在对象资源管理器中,展开树形目录,定位到要删除的数据库,右击该数据开树形目录,定位到要删除的数据库,右击该数据库,再选择库,再选择“删除删除”命令即可。命令即可。v使用使用Transact-SQLTransact-SQL语句删除数据库语句删除数据库 Transact-SQL Transact-SQL提供了数据库修改语句提供了数据库修改语句DROP DROP 【例例3.7】删除已创建的数据库删除已创建的数据库student。程序代码如下:程序代码如下:DROPDATABASEstudentGO67L o g o文件组的创建文件组的创建 v文件组是指将数据库相关的一组磁盘文件组成的文件组是指将数据

76、库相关的一组磁盘文件组成的集合。集合。SQL Server 2008SQL Server 2008在创建数据库时会自动创在创建数据库时会自动创建一个的主文件组,用户也可根据自己的需要自建一个的主文件组,用户也可根据自己的需要自定义一个文件组。定义一个文件组。v文件组的类型文件组的类型(1 1)主文件组:)主文件组: 主文件组包含主数据文件和任何主文件组包含主数据文件和任何没有明确分配给其他文件组的其他文件。系统表没有明确分配给其他文件组的其他文件。系统表的所有页均分配在主文件组中。的所有页均分配在主文件组中。 (2 2)用户定义文件组:)用户定义文件组:68L o g o文件组的创建文件组的创

77、建 v创建文件组的必要性创建文件组的必要性(1 1)对于大型数据库,可把特定的对象或文件分配)对于大型数据库,可把特定的对象或文件分配到不同磁盘上,将数据库文件组织成用户文件组。到不同磁盘上,将数据库文件组织成用户文件组。(2 2)文件组可以帮助数据库管理人员执行相应的数)文件组可以帮助数据库管理人员执行相应的数据布局,以及某些管理任务。据布局,以及某些管理任务。(3 3)利用文件组,可以在特定的文件中定位特定的)利用文件组,可以在特定的文件中定位特定的对象,以提高磁盘驱动器的效率,减少磁盘驱动器对象,以提高磁盘驱动器的效率,减少磁盘驱动器的争用。的争用。(4 4)通过创建用户文件组,可以将数

78、据文件集合起)通过创建用户文件组,可以将数据文件集合起来,以便于管理、数据分配和放置。来,以便于管理、数据分配和放置。 69L o g o文件组的创建文件组的创建 v创建用户文件组创建用户文件组(1 1)在)在SQL Server Management StudioSQL Server Management Studio中创建用户中创建用户文件组。例如,为数据库文件组。例如,为数据库test01test01添加了一个名为添加了一个名为userdefined01userdefined01的文件组。的文件组。图3-27 添加一个名添加一个名为userdefined01的文件的文件组70L o g

79、o文件组的创建文件组的创建 v创建用户文件组创建用户文件组(2 2)使用相应的)使用相应的Transact-SQLTransact-SQL命令。可以创建一个命令。可以创建一个名为名为userdefined02userdefined02的文件组。的文件组。USE test01USE test01GOGOALTER DATABASE test01 ADD FILEGROUP ALTER DATABASE test01 ADD FILEGROUP userdefined02userdefined02GOGO71L o g o文件组的创建文件组的创建 v设置默认文件组设置默认文件组设置默认文件组有两种

80、方法:设置默认文件组有两种方法:(1 1)在)在SQL Server Management StudioSQL Server Management Studio界面中,参界面中,参考图考图3-273-27,在,在“默认值默认值”下的复选框中可以指定默下的复选框中可以指定默认文件组,然后单击认文件组,然后单击“确定确定”按钮即可按钮即可(2 2)使用)使用ALTER DATABASE ALTER DATABASE 语句更改默认文件组。语句更改默认文件组。具体方法可以参考下面例具体方法可以参考下面例3.83.8内容。内容。 【例例3.8】文件和文件文件和文件组示例。示例。在在SQL Server

81、2008实例上例上创建了一个数据建了一个数据库,该数据数据库包括一个主数据文件、一个用包括一个主数据文件、一个用户定定义文件文件组和一个日志文件。主数据文件在主文件和一个日志文件。主数据文件在主文件组中,而用中,而用户定定义文件文件组包含两个次要数据文件。包含两个次要数据文件。ALTER DATABASE 语句将用句将用户定定义文件文件组指定指定为默默认文件文件组。72L o g oq 数据库快照是一个数据库的只读副本,它是数数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由快照被执行的时间点来据库所有数据的映射,由快照被执行的时间点来决定它的内容。决定它的内容。 q 维护历史数据

82、以生成报表。维护历史数据以生成报表。 q 将查询实施在数据库的快照上,可以释放主体将查询实施在数据库的快照上,可以释放主体数据库上的资源。数据库上的资源。q 使用快照将数据库恢复到生成快照时的状态比使用快照将数据库恢复到生成快照时的状态比从备份还原快得多。从备份还原快得多。 数据库快照的作用数据库快照的作用数据库快照和数据分区管理数据库快照和数据分区管理 L o g o数据库快照和数据分区管理数据库快照和数据分区管理 1.1.数据库快照数据库快照(Snapshot)(Snapshot)v数据库快照是数据库快照是Microsoft SQL Server 2008 Microsoft SQL Se

83、rver 2008 中的中的新增功能,是源数据库的只读、静态视图。多个新增功能,是源数据库的只读、静态视图。多个快照可以位于一个源数据库中,并且可以作为数快照可以位于一个源数据库中,并且可以作为数据库始终驻留在同一服务器实例上。据库始终驻留在同一服务器实例上。v数据库快照的工作方式数据库快照的工作方式: :数据库快照为数据库用户数据库快照为数据库用户提供了一种保存某一历史时刻的数据库中数据的提供了一种保存某一历史时刻的数据库中数据的机制。例如,在某一天的机制。例如,在某一天的1212:0000对数据库对数据库test01test01创建快照,该数据库用户就可以在以后的任何时创建快照,该数据库用

84、户就可以在以后的任何时间访问那一刻间访问那一刻test01test01数据库中的数据。数据库中的数据。74L o g o数据库快照和数据分区管理数据库快照和数据分区管理 1.1.数据库快照数据库快照(Snapshot)(Snapshot)v数据库快照的工作方式数据库快照的工作方式: :要访问快照数据,系统将要访问快照数据,系统将以如下原则进行读取数据。以如下原则进行读取数据。数据未变化,查询源数据库的信息。数据未变化,查询源数据库的信息。数据发生变化,则查询存储在中数据库快照的信数据发生变化,则查询存储在中数据库快照的信息。息。v每个数据库快照在事务上与源数据库一致。在被每个数据库快照在事务上

85、与源数据库一致。在被数据库所有者显式删除之前,快照始终存在。数据库所有者显式删除之前,快照始终存在。75L o g o数据库快照和数据分区管理数据库快照和数据分区管理 1.1.数据库快照数据库快照(Snapshot)(Snapshot)v数据库快照的用途数据库快照的用途 维护历史数据以生成报表。维护历史数据以生成报表。 可以避免由于用户失误造成的数据损失。可以避免由于用户失误造成的数据损失。 可以避免由于管理失误造成的数据损失。可以避免由于管理失误造成的数据损失。 利用快照中的信息,手动重新创建删除的表利用快照中的信息,手动重新创建删除的表或其他丢失的数据。或其他丢失的数据。76L o g o

86、数据库快照和数据分区管理数据库快照和数据分区管理 1.1.数据库快照数据库快照(Snapshot)(Snapshot)v创建数据库快照创建数据库快照 任何能创建数据库的用户都可以创建数据库任何能创建数据库的用户都可以创建数据库快照。快照。Transact-SQLTransact-SQL语句是创建数据库快照的语句是创建数据库快照的唯一方式。唯一方式。Transact-SQLTransact-SQL语法格式如下。语法格式如下。CREATE DATABASE database_snapshot_name ON ( NAME = logical_file_name, FILENAME = os_fil

87、e_name ) ,.n AS SNAPSHOT OF source_database_name;【例3.9】为test01创建数据库快照77L o g o数据库快照的创建数据库快照的创建L o g o数据库快照和数据分区管理数据库快照和数据分区管理 1.1.数据库快照数据库快照(Snapshot)(Snapshot)v删除数据库快照删除数据库快照v具有具有 DROP DATABASE DROP DATABASE 权限的任何数据库用户都可权限的任何数据库用户都可以通过删除操作来删除数据库快照。删除数据库以通过删除操作来删除数据库快照。删除数据库快照的方法与删除数据库相同。快照的方法与删除数据库

88、相同。(1 1) 在在 SQL Server Management Studio SQL Server Management Studio 中查看中查看数据库快照,然后右击,在弹出的快捷菜单中选数据库快照,然后右击,在弹出的快捷菜单中选择择“删除删除”命令即可。命令即可。(2 2)使用)使用 DROP DATABASE DROP DATABASE 语句。语句。USE masterGODROP DATABASE test01snapshotGO79L o g o数据库快照和数据分区管理数据库快照和数据分区管理 2.2. 数据分区管理数据分区管理v数据分区,即将一个原本的大数据表拆分成较小数据分区

89、,即将一个原本的大数据表拆分成较小的多个数据表,由于需要查询的数据局限于空间的多个数据表,由于需要查询的数据局限于空间的局部性,即查询的行往往位于同一分区中。的局部性,即查询的行往往位于同一分区中。v通过分区可以将在大量数据集中进行查询的操作通过分区可以将在大量数据集中进行查询的操作转换为在小部分数据中进行查询的操作,从而获转换为在小部分数据中进行查询的操作,从而获得更快更高的查询效率。除此之外,将数据分区得更快更高的查询效率。除此之外,将数据分区也有利于数据库的维护操作。也有利于数据库的维护操作。80L o g o数据库快照和数据分区管理数据库快照和数据分区管理 2.2. 数据分区管理数据分

90、区管理v如果将原有的大数据表拆分成多个小数据表,则如果将原有的大数据表拆分成多个小数据表,则通常被称为水平分区。水平分区的特点是每个分通常被称为水平分区。水平分区的特点是每个分区中包含的列数是一样,但是其每个分区表中的区中包含的列数是一样,但是其每个分区表中的行数被减少了。行数被减少了。v而与之对应地,还存在着一种被称为垂直分区的而与之对应地,还存在着一种被称为垂直分区的方案,即将一个数据表中的列划分到多个结构较方案,即将一个数据表中的列划分到多个结构较为简单的数据表中。为简单的数据表中。81L o g o数据库快照和数据分区管理数据库快照和数据分区管理 2.2. 数据分区管理数据分区管理v在

91、在SQL Server 2008SQL Server 2008中创建分区表的参考步骤中创建分区表的参考步骤(1 1)创建分区函数以指定如何分区,以及分区所涉)创建分区函数以指定如何分区,以及分区所涉及的数据表。及的数据表。(2 2)创建分区方案以指定分区函数的分区在文件组)创建分区方案以指定分区函数的分区在文件组上的位置。上的位置。(3 3)创建使用分区方案的表。)创建使用分区方案的表。82L o g o小结小结v本章的学习过程中,应该重点掌握下面几个知识点本章的学习过程中,应该重点掌握下面几个知识点(1 1)数据库的基本概念:数据库对象、数据库文件、)数据库的基本概念:数据库对象、数据库文件、文件组、数据库所有者等。文件组、数据库所有者等。(2 2)数据库的基本操作:创建、修改、管理、删除和)数据库的基本操作:创建、修改、管理、删除和添加文件等。添加文件等。(3 3)数据库的存储方式:数据文件和日志文件的存储)数据库的存储方式:数据文件和日志文件的存储 (4 4)查看操作数据库文件的脚本。)查看操作数据库文件的脚本。(5 5)文件组的创建与管理。)文件组的创建与管理。8384

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号