




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2008SQL Server 2008数据库应用与开发数据库应用与开发1清华大学出版社清华大学出版社L o g oL o g o第第3 3章章 创建和管理数据库创建和管理数据库2内容提要数据库对象和数据库文件数据库对象和数据库文件 1管理数据库管理数据库 3数据库快照和数据分区管理数据库快照和数据分区管理 5用户数据库创建与修改用户数据库创建与修改 2文件组的创建文件组的创建 4L o g oL o g o内容介绍q三个问题v数据库是什么样子的 v数据库保存在哪里 v如何创建一个SQL Server 2008的数据库 q两个任务v了解数据库的构成 v按实际情况创建数据库
2、L o g oL o g o内容介绍v使用图形工具创建数据库v用SQL语句创建数据库v数据库的简单管理 L o g oL o g o数据库的组成v数据库类型 系统数据库 用户数据库L o g oL o g ov系统数据库存储有关数据库系统的信息,例如master、model、msdb、tempdb。我们使用系统数据库来操作和管理各种数据库数据库的组成L o g oL o g o系统数据库v master数据库记录SQL Server 2005的所有系统级信息,包括登录帐户和系统配置设置。v model数据库为用户创建新的数据库提供模板。 v msdb数据库是代理服务使用的数据库,代理程序调度警
3、报作业以及记录操作员的操作时使用。 v tempdb数据库保存所有的临时表和临时存储过程。L o g oL o g o数据库的组成q用户数据库是由用户来建立,如学生管理信息数据库,证照管理系统数据库L o g oL o g ovSQL Server 2008SQL Server 2008将数据保存于数据库中,并为用将数据保存于数据库中,并为用户提供了访问这些数据的接口。户提供了访问这些数据的接口。v数据库所存储的信息能否正确地反映现实世界,数据库所存储的信息能否正确地反映现实世界,能否在系统运行过程中及时、准确地为各个应用能否在系统运行过程中及时、准确地为各个应用程序提供所需的数据,关系到以此
4、数据库为基础程序提供所需的数据,关系到以此数据库为基础的应用系统的性能。的应用系统的性能。 9L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 1. 1.基本概念基本概念v数据库对象数据库对象:SQL Server 2008:SQL Server 2008将数据库映射为一组将数据库映射为一组磁盘文件,并将数据与日志信息分别保存于不同磁盘文件,并将数据与日志信息分别保存于不同的磁盘文件中,每个文件仅在与之相关的数据库的磁盘文件中,每个文件仅在与之相关的数据库中使用。因此,从物理角度看,数据库包括数据中使用。因此,从物理角度看,数据库包括数据文件和日志文件。从逻辑角度看,数
5、据库中的表文件和日志文件。从逻辑角度看,数据库中的表、索引、触发器、视图、键、约束、默认值、规、索引、触发器、视图、键、约束、默认值、规则、用户定义数据类型或存储过程及数据库本身则、用户定义数据类型或存储过程及数据库本身,都可以理解为数据库对象。,都可以理解为数据库对象。 10L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 1. 1.基本概念基本概念v数据库所有者数据库所有者: :就是有权限访问数据库的用户,即就是有权限访问数据库的用户,即登录数据库的网络用户。数据库所有者是唯一的登录数据库的网络用户。数据库所有者是唯一的,拥有该数据库中的全部权限,并能够提供给其,拥
6、有该数据库中的全部权限,并能够提供给其他用户访问权限和功能。他用户访问权限和功能。v架构架构: :架构是形成单个命名空间的数据库实体的集架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其内部的每个元素的合。命名空间是一个集合,其内部的每个元素的名称都是唯一的。在名称都是唯一的。在 SQL Server 2008 SQL Server 2008 中的默认架中的默认架构是构是DBODBO。如果用户创建数据库时没有指定架构。如果用户创建数据库时没有指定架构,系统将使用默认架构。,系统将使用默认架构。11L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 1. 1.
7、基本概念基本概念v数据库文件数据库文件: :每个每个 SQL Server 2008 SQL Server 2008 数据库至少具有数据库至少具有两个操作系统文件:一个主数据文件和一个日志文两个操作系统文件:一个主数据文件和一个日志文件。数据文件包含数据和数据库对象,日志文件包件。数据文件包含数据和数据库对象,日志文件包含恢复数据库中的所有事务所需的信息。含恢复数据库中的所有事务所需的信息。(1 1)主数据文件包含数据库的启动信息,并指向数)主数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据
8、文件中。每个数据库件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件,文件扩展名是有一个主要数据文件,文件扩展名是 . .mdfmdf。 12L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 1. 1.基本概念基本概念v数据库文件数据库文件: :(2 2)次要数据文件是可选的,由用户定义并存储用)次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上,文件,次要文件可用于将数据分散到多个磁盘上,文件扩展名是扩展名是 . .ndfndf。(3 3)事
9、务日志文件保存用于恢复数据库的日志信息)事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件,文件扩展。每个数据库必须至少有一个日志文件,文件扩展名是名是 . .ldfldf。13L o g oL o g o数据库的文件构成类型扩展名作用说明主要数据主要数据文件文件MDF保存数据库中的数据保存数据库中的数据有且只有一个有且只有一个次要数据次要数据文件文件NDF保存数据库中的数据保存数据库中的数据0或多个或多个日志文件日志文件LDF记录所有对数据库的操记录所有对数据库的操作,这些操作当系统出现作,这些操作当系统出现故障时可恢复数据库数据故障时可恢复数据库数据至少一个,最好与
10、数据文至少一个,最好与数据文件存放在不同的物理硬盘中件存放在不同的物理硬盘中文件组文件组无无用于对多个数据文件进行用于对多个数据文件进行分组分组1或多个或多个L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 2. 2.创建数据库的规范创建数据库的规范 v创建规范数据库的原则创建规范数据库的原则: :一个数据库中的表是由许一个数据库中的表是由许多行组成的,每个行又由多个列组成,表中要存多行组成的,每个行又由多个列组成,表中要存储的信息,决定该表所包含列的属性。储的信息,决定该表所包含列的属性。(1 1)列的唯一性)列的唯一性(2 2)列的无关性)列的无关性 (3 3)使用
11、主键)使用主键 (4 4)外键)外键 (5 5)收集所需的全部信息。)收集所需的全部信息。(6 6)以最小的逻辑单位存储信息)以最小的逻辑单位存储信息15L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 2. 2.创建数据库的规范创建数据库的规范 v 如何检查数据库的规范化如何检查数据库的规范化(1 1)列信息:是否遗忘了必要的列?是否有需要的信息没)列信息:是否遗忘了必要的列?是否有需要的信息没包括进去?包括进去?(2 2)主键:是否为每个表选择了合适的主键?在使用该主)主键:是否为每个表选择了合适的主键?在使用该主键查找具体行的数据时,它是否很容易记忆和键入?键查找
12、具体行的数据时,它是否很容易记忆和键入? (3 3)重复信息:是否在某个表中重复输入了同样的信息?)重复信息:是否在某个表中重复输入了同样的信息? (4 4)是否存在一个列很多而行却很少的表,而且许多行中)是否存在一个列很多而行却很少的表,而且许多行中的列值为空?如果有,就要考虑重新设计该表。的列值为空?如果有,就要考虑重新设计该表。确定了要做的修改之后,就可以修改表的信息,改进设计方确定了要做的修改之后,就可以修改表的信息,改进设计方案。案。16L o g oL o g oq 数据库的逻辑结构数据库的逻辑结构 从逻辑角度,从逻辑角度,SQL Server 2008将数据库组织成为各将数据库组
13、织成为各种数据库对象,如数据表、种数据库对象,如数据表、视图、索引、数据类型、视图、索引、数据类型、存储过程、触发器等。这存储过程、触发器等。这些数据库对象是用户使用些数据库对象是用户使用数据库的基本单位。右图数据库的基本单位。右图所示为所示为SQL Server 2008对对象资源管理器中所呈现的象资源管理器中所呈现的各种数据库对象。各种数据库对象。 L o g oL o g oq 数据库的物理结构数据库的物理结构 从物理角度,从物理角度,SQL Server 2005数据库以多种操作数据库以多种操作系统文件形式存储在计算机硬盘上,一般一个数据系统文件形式存储在计算机硬盘上,一般一个数据库被
14、组织成数据文件和日志文件两种类型的文件。库被组织成数据文件和日志文件两种类型的文件。 主要数据文件主要数据文件(.mdf),该文件包含数据库的启动,该文件包含数据库的启动信息,并用于存储数据信息,并用于存储数据 次要数据文件次要数据文件(.ndf),它含有不能置于主要数据文,它含有不能置于主要数据文件中的数据。件中的数据。 日志文件日志文件(.ldf),记录了用户对数据库的所有操作。,记录了用户对数据库的所有操作。q 文件组文件组 文件组是数据库中数据文件的逻辑组合。文件组是数据库中数据文件的逻辑组合。L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 3. 3. 数据库
15、的存储数据库的存储 vSQL Server 2008SQL Server 2008数据库是以文件的方式存储到磁数据库是以文件的方式存储到磁盘中,其中数据文件和日志文件的文件结构不同盘中,其中数据文件和日志文件的文件结构不同,存储方式也不一样,如图,存储方式也不一样,如图3-13-1所示。所示。 图图3-1数据的存储方式数据的存储方式19L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 3. 3. 数据库的存储数据库的存储 v数据文件的存储结构:从数据文件的存储结构:从SQL Server 2008SQL Server 2008数据库的数据库的物理架构上来看,物理架构上来
16、看,SQL ServerSQL Server用于存储数据的基本用于存储数据的基本单位是页,每页容量为单位是页,每页容量为8KB8KB。也就是说数据库对应。也就是说数据库对应磁盘文件在逻辑上可以被划分为多个页。磁盘文件在逻辑上可以被划分为多个页。(1 1)数据页。)数据页。SQL ServerSQL Server将将8KB8KB的数据划分为一页。的数据划分为一页。(2 2)扩展盘区()扩展盘区(ExtentsExtents)。数据页是)。数据页是SQL ServerSQL Server数数据库读写数据的基本单位,扩展盘区就是管理存储据库读写数据的基本单位,扩展盘区就是管理存储空间的基本单位。一个
17、扩展盘区由空间的基本单位。一个扩展盘区由8 8个物理上连续个物理上连续的页(的页(64 KB64 KB)组成。)组成。 20L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 3. 3. 数据库的存储数据库的存储 v日志文件的存储结构:日志文件的存储结构:SQL ServerSQL Server数据库提供的日数据库提供的日志功能可以记录数据行从数据库创建到当前时刻对志功能可以记录数据行从数据库创建到当前时刻对数据库所做的全部更改。针对数据库中任何一行执数据库所做的全部更改。针对数据库中任何一行执行的操作都将被作为一个日志行,并在事务提交时行的操作都将被作为一个日志行,并在
18、事务提交时写入日志文件中。写入日志文件中。SQL Server 2008SQL Server 2008中的事物日志功中的事物日志功能一般用于恢复指定事务,还原的数据库、文件、能一般用于恢复指定事务,还原的数据库、文件、文件组或页前滚至故障点,支持事务性复制和备份文件组或页前滚至故障点,支持事务性复制和备份服务器解决方案,实现在服务器解决方案,实现在SQL Server SQL Server 启动时恢复所启动时恢复所有未完成的事务。有未完成的事务。 21L o g oL o g o数据库对象和数据库文件数据库对象和数据库文件 3. 3. 数据库的存储数据库的存储 v 日志文件的存储结构日志文件的
19、存储结构(1 1)SQL ServerSQL Server数据库日志的物理结构。日志文件并不包括数据库日志的物理结构。日志文件并不包括在文件组内,在文件组内,SQL Server 2008SQL Server 2008的日志文件中包含着一系列的日志文件中包含着一系列日志行。日志行。 (2 2)SQL ServerSQL Server数据库日志的逻辑结构。数据库日志的逻辑结构。SQL Server 2008SQL Server 2008数据数据库中的事务日志以日志行为单位。每条日志行是由一个日库中的事务日志以日志行为单位。每条日志行是由一个日志序列号(志序列号(Log Sequence NumL
20、og Sequence Num,LSNLSN)标识。)标识。 (3 3)SQL Server 2008SQL Server 2008将数据库的回滚操作也放到日志中。将数据库的回滚操作也放到日志中。 22L o g oL o g o用户数据库创建与修改用户数据库创建与修改 v一个一个 SQL Server SQL Server 实例,可以创建实例,可以创建3200032000多个多个用户数据库。在创建数据库之前,首先用用户数据库。在创建数据库之前,首先用户应该清楚是否有相关的权限。户应该清楚是否有相关的权限。v要创建数据库,必须至少拥有要创建数据库,必须至少拥有 CREATE CREATE DA
21、TABASEDATABASE、CREATE ANY DATABASE CREATE ANY DATABASE 或或 ALTER ANY DATABASE ALTER ANY DATABASE 等语句的权限。等语句的权限。其次,创建数据库的用户将成为该数据库其次,创建数据库的用户将成为该数据库的所有者。的所有者。 23L o g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v 在在SQL ServerSQL Server中,用户要创建数据库,必须确定数据库的中,用户要创建数据库,必须确定数据库的名称、所有者、大小以及存储该数据库的文件和文件
22、组。名称、所有者、大小以及存储该数据库的文件和文件组。数据库名称必须遵循为标识符指定的规则。数据库名称必须遵循为标识符指定的规则。(1 1)数据库名称长度为)数据库名称长度为11281128个字符。个字符。(2 2)名称首字符必须是一个英文字母或)名称首字符必须是一个英文字母或“_ _ ”、“# #”和和“”中的任意字符。中的任意字符。(3 3)在中文版)在中文版SQL Server 2008SQL Server 2008中,可以直接使用汉字为数据中,可以直接使用汉字为数据库命名。库命名。(4 4)名称中不能出现空格,不允许使用)名称中不能出现空格,不允许使用SQL Server 2008SQ
23、L Server 2008的保的保留字。留字。 24L o g oL o g oq 使用对象资源管理器创建用户数据库使用对象资源管理器创建用户数据库q 使用使用T-SQL语句创建用户数据库语句创建用户数据库用户数据库创建与修改用户数据库创建与修改 L o g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库 (1 1)启动)启动SQL Server Management StudioSQL Server
24、 Management Studio,在对象资,在对象资源管理器中,右击源管理器中,右击“数据库数据库”选项,在弹出的快选项,在弹出的快捷菜单中选择捷菜单中选择“新建数据库新建数据库”命令,如图命令,如图3-23-2所示所示,打开,打开“新建数据库新建数据库”窗口。窗口。图图3-2 新建数据库新建数据库26L o g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库在在“新建数据库新建数据库”窗口中的窗
25、口中的“常规常规”选项卡,如图选项卡,如图3-33-3所示。所示。图图3-3 设置设置“常规常规”选项卡选项卡27L o g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库 (2 2)切换到)切换到“新建数据库新建数据库”窗口中的窗口中的“选项选项”选项选项卡中,如图卡中,如图3-43-4所示。其中有以下几个可选项。所示。其中有以下几个可选项。 图图3-4 设置设置“选项选项”选项卡选项卡28L o
26、g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库(3 3)切换到)切换到“文件组文件组”选项卡进行设置,如图选项卡进行设置,如图3-53-5所示。所示。(4 4)如果要添加文件组,可以单击)如果要添加文件组,可以单击“添加添加”按钮,按钮,然后输入文件组的名称。所有参数设置完毕后,然后输入文件组的名称。所有参数设置完毕后,单击单击“确定确定”按钮,新的数据库就创建成功。按钮,新的数据库就创建成功。展
27、开对象资源管理器中的数据库项,就可以观察到展开对象资源管理器中的数据库项,就可以观察到test01test01数据库已经创建成功。数据库已经创建成功。图图3-5 设置设置“文件组文件组”选项卡选项卡29L o g oL o g o用户数据库创建与修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库在在SQL Server 2008SQL Server 2008中,也可以利用中,也可以利用Transact-SQLTransact-SQL提供提供的的CREATE DATABASECREATE DA
28、TABASE语句来创建数据库。创建语句来创建数据库。创建步骤为:选择步骤为:选择“文件文件”| |“新建新建”| |“使用当前连接使用当前连接查询查询”命令,弹出查询设计器窗口,在该窗口中命令,弹出查询设计器窗口,在该窗口中编写编写Transact-SQLTransact-SQL语句。语句。 (1)CREATE DATABASE语句的基本格式语句的基本格式CREATE DATABASE database_name -设置数据库名称设置数据库名称 ON -设置数据文件设置数据文件 PRIMARY ,.n , ,.n -设置文件组设置文件组 LOG ON ,.n -设置日志文件设置日志文件 COL
29、LATE collation_name -设置排序规则名称设置排序规则名称 WITH -设置外部访问设置外部访问;30L o g oL o g oq 使用使用T-SQL语句创建用户数据库的语法格式语句创建用户数据库的语法格式CREATE DATABASE database_nameON PRIMARY (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMTED,FILEGROWTH=grow_increment),nLOG ON (NAME=logical_file_name,FILENAM
30、E=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMTED,FILEGROWTH=grow_increment),n用户数据库创建与修改用户数据库创建与修改 L o g oL o g o参数说明database_name要建立的数据库名称PRIMARY在主文件组中指定文件。ON指定存储数据库数据部分的磁盘文件(数据文件)。LOG ON指定建立数据库的日志文件。NAME指定数据或日志文件的文件名称FILENAME指定文件的操作系统文件名和路径。os_file_name中的路径必须指定为SQL Server所安装服务器上的某个文件夹。SIZE指定数据或日志
31、文件的大小。用户可以以MB为单位指定大小,也可以使用默认单位KB来指定大小。当添加数据文件或日志文件时,其默认大小是1MB。MAXSIZE指定文件能够增长到的最大长度。默认单位为KB,用户也可以以MB来指定该长度。如果没有指定长度的话,文件将一直增长直到磁盘满为止。要建立的数据库大小单位为MB。FILEGROWTH指定文件的增长增量。该参数设置不能超过MAXSIZE参数。指定值的默认单位为MB,用户也可以以KB为单位进行指定,此外还可以使用百分比(%)。如果该参数没有指定的话,默认值为10,最小值为64KB。用户数据库创建与修改用户数据库创建与修改 L o g oL o g o用户数据库创建与
32、修改用户数据库创建与修改 1. 1.用户数据库的创建用户数据库的创建v 利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库【例【例3.13.1】 创建数据库创建数据库studentstudent,并指定数据库的数据文件所在位置、初始,并指定数据库的数据文件所在位置、初始容量、最大容量和文件增长量。容量、最大容量和文件增长量。程序代码如下:程序代码如下:CREATE DATABASE studentCREATE DATABASE studentONON( ( NAME=student, NAME=student, FILENAME = D: FILENAME =
33、 D:sqlprogramstudent.mdfsqlprogramstudent.mdf, , SIZE = 5MB, SIZE = 5MB, MAXSIZE = 10MB, MAXSIZE = 10MB, FILEGROWTH = 5% FILEGROWTH = 5%) )GO GO 【例例3.2】 创建数据库创建数据库teaching,并指定数据库的,并指定数据库的数据文件和日志文件的所在位置、初始容量、最大容数据文件和日志文件的所在位置、初始容量、最大容量和文件增长量。量和文件增长量。 程序代码如下:程序代码如下:CREATE DATABASE teachingON PRIMARY (
34、 NAME = teaching, FILENAME = D:sqlprogramteaching.mdf,SIZE = 4MB, MAXSIZE = 30MB, FILEGROWTH = 1MB ) LOG ON ( NAME = teaching_log, FILENAME = D:sqlprogramteaching_log.ldf, SIZE = 2MB , MAXSIZE = 10 MB, FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_ASGO33L o g oL o g o用户数据库创建与修改用户数据库创建与修改v练习:创建一个名为练习:创建一个
35、名为studentstudent的用户数据库,其数的用户数据库,其数据文件初始大小为据文件初始大小为3MB3MB,最大大小为,最大大小为50MB50MB,v文件大小增长增量为文件大小增长增量为1MB1MB,日志文件初始大小为,日志文件初始大小为1MB1MB,最大大小为,最大大小为12.5MB12.5MB,文件增长增量为,文件增长增量为10%10%。L o g oL o g o用户数据库创建与修改用户数据库创建与修改 2. 2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主要步
36、骤如下:主要步骤如下:(1 1)启动)启动SQL Server Management StudioSQL Server Management Studio,在对象资,在对象资源管理器中,用户可以右击所选择的数据库源管理器中,用户可以右击所选择的数据库 test01test01,在弹出的快捷菜单中选择,在弹出的快捷菜单中选择“属性属性”命令打开命令打开“数据库属性数据库属性”窗口,如图窗口,如图3-63-6所示。所示。在在“数据库属数据库属性性”窗口的窗口的“常规常规”选项卡中,显示的是数据库选项卡中,显示的是数据库的基本信息,这些信息不能修改。的基本信息,这些信息不能修改。图图3-6“数据库属
37、性数据库属性”窗口窗口35L o g oL o g o用户数据库创建与修改用户数据库创建与修改 2. 2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主要步骤如下:主要步骤如下:(2 2)单击)单击“文件文件”选项卡,如图选项卡,如图3-73-7所示,可以修所示,可以修改数据库的逻辑名称、初始大小、自动增长等属改数据库的逻辑名称、初始大小、自动增长等属性,也可以根据需要添加数据文件和日志文件,性,也可以根据需要添加数据文件和日志文件,还可以更改数据库的所有者。还可以更改数据库
38、的所有者。图图3-7 修改修改“数据库属性数据库属性”36L o g oL o g o用户数据库创建与修改用户数据库创建与修改 2. 2.修改数据库修改数据库 v使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库主要步骤如下:主要步骤如下:(3 3)在)在“文件组文件组”选项卡中,可以修改现有的文件组选项卡中,可以修改现有的文件组,也可以指定数据库的默认文件组、添加新文件组,也可以指定数据库的默认文件组、添加新文件组。(4 4)在)在“选项选项”选项卡中,修改数据库的排序规则。选项卡中,修改数据库的排序规
39、则。“数据库属性数据库属性”窗口包含的各种属性,只要需要,就窗口包含的各种属性,只要需要,就可以选择相应的选项卡来修改。可以选择相应的选项卡来修改。图图3-8 添加数据库文件添加数据库文件 37L o g oL o g o用户数据库创建与修改用户数据库创建与修改 2. 2.修改数据库修改数据库 v使用使用Transact-SQLTransact-SQL语句修改数据库语句修改数据库 Transact-SQL Transact-SQL提供了修改数据库的语句提供了修改数据库的语句ALTER ALTER DATABASEDATABASE。ALTER DATABASE database_name -需修
40、改的数据库名需修改的数据库名 -增加或修改数据库文件增加或修改数据库文件 | -增加或修改数据库文件组增加或修改数据库文件组 | -设置数据库选项设置数据库选项 | MODIFY NAME = new_database_name -数据库重命名数据库重命名 | COLLATE collation_name -更改排序规则更改排序规则;38L o g oL o g o用户数据库创建与修改用户数据库创建与修改 2. 2.修改数据库修改数据库 v 使用使用Transact-SQLTransact-SQL语句修改数据库语句修改数据库【例例3.33.3】 为为studentstudent数据库增加一个日
41、志文件。数据库增加一个日志文件。 ALTER DATABASE student ALTER DATABASE 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数据库的排序规则。数据库的排序规
42、则。程序代码如下:程序代码如下:ALTER DATABASE studentCOLLATE Chinese_PRC_CI_AS_KS【例例 3.5】 给给student数据库添加文件组数据库添加文件组studentfgrp,再添加数据文件再添加数据文件studentfile.ndf到文件组到文件组studentfgrp中。中。程序代码如下:程序代码如下:ALTER DATABASE studentADD FILEGROUP studentfgrpGO ALTER DATABASE studentADD FILE( NAME =studentfile, FILENAME = F:sqlprogr
43、amstudentfile.ndf )TO FILEGROUP studentfgrpGO39L o g oL o g o用户数据库创建与修改用户数据库创建与修改 3. 3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的脚本代码 在在SQL ServerSQL Server中,要对数据库对象执行基本操作时中,要对数据库对象执行基本操作时,通常需要编写,通常需要编写SQLSQL脚本。对于常见数据库对象脚本。对于常见数据库对象的基本操作,的基本操作,SQL ServerSQL Server提供了快速生成操作脚本提供了快速生成操作脚本的功能。的功能。 图图3-9创建脚本代码创
44、建脚本代码40L o g oL o g o用户数据库创建与修改用户数据库创建与修改 3. 3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的脚本代码 系统将打开一个新查询编辑器窗口,执行连接并显系统将打开一个新查询编辑器窗口,执行连接并显示完整示完整CREATE DATABASECREATE DATABASE的语句。结果如图的语句。结果如图3- 3-1010所示。所示。图图3-10 自动生成的查询脚本自动生成的查询脚本41L o g oL o g o用户数据库创建与修改用户数据库创建与修改 3. 3.数据库文件的脚本生成数据库文件的脚本生成v创建对象的脚本代码创建对象的
45、脚本代码 在数据库及其对象的许多对话框的操作过程中,通在数据库及其对象的许多对话框的操作过程中,通过单击过单击“脚本脚本”按钮,也可以得到当前操作的脚按钮,也可以得到当前操作的脚本,具体操作如图本,具体操作如图3-113-11所示。所示。 图图3-11 “脚本脚本”按钮的使用按钮的使用42L o g oL o g o用户数据库创建与修改用户数据库创建与修改 3. 3.数据库文件的脚本生成数据库文件的脚本生成v 使用模板创建脚本代码使用模板创建脚本代码(1 1)在)在 Management Studio Management Studio 的的“查看查看”菜单上,单击菜单上,单击“模板模板资源管
46、理器资源管理器”命令。命令。(2 2)模板资源管理器中的模板是分组列出的,先展开)模板资源管理器中的模板是分组列出的,先展开“SQL SQL Server Server 模板模板”| | DATABASEDATABASE,子目录,再双击,子目录,再双击CREATE CREATE DATABASEDATABASE。(3 3)在)在“连接到数据库引擎连接到数据库引擎”对话框中,填写连接信息,对话框中,填写连接信息,再单击再单击“连接连接”按钮。此时将打开一个新查询编辑器窗口按钮。此时将打开一个新查询编辑器窗口,其中包含,其中包含“创建数据库创建数据库”模板的内容,模板的内容, 43L o g oL
47、 o g o用户数据库创建与修改用户数据库创建与修改 3. 3.数据库文件的脚本生成数据库文件的脚本生成v使用模板创建脚本代码使用模板创建脚本代码(4 4)单击菜单)单击菜单“查询查询”| |“指定模板参数的值指定模板参数的值”菜单菜单命令,弹出命令,弹出“指定模板参数的值指定模板参数的值”对话框,如图对话框,如图3-123-12所示。所示。 (5 5)在)在“指定模板参数的值指定模板参数的值”对话框中,对话框中,“值值”列列包含一个包含一个Database_NameDatabase_Name参数的建议值。在参数的建议值。在“值值”参数框中,输入参数框中,输入test02test02,再单击,
48、再单击“确定确定”按钮。按钮。(6 6)系统自动用输入的)系统自动用输入的test02test02替代了上述参数值替代了上述参数值 图图3-12 指定模板参数的值指定模板参数的值44L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v在实际生产过程中的数据库总是处于一个特定的在实际生产过程中的数据库总是处于一个特定的状态中,若要确认数据库的当前状态,通过状态中,若要确认数据库的当前状态,通过“数数据库属性据库属性”窗口的窗口的“常规常规”选项卡查看数据库属选项卡查看数据库属性以外,还可以选择性以外,还可以选择 sys.databasessys.d
49、atabases 目录视图中的目录视图中的 state_descstate_desc 列。在查询设计器窗口中输入如下代码列。在查询设计器窗口中输入如下代码并执行,如图并执行,如图3-133-13所示。所示。 Select Select name,state,state_descname,state,state_desc From From sys.databasessys.databases图图3-13 数据库的状态信息数据库的状态信息45L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v在在 SQL Server 2008 SQL Serve
50、r 2008 中,数据库文件的状态独立于中,数据库文件的状态独立于数据库的状态。如果数据库处于离线状态,则可数据库的状态。如果数据库处于离线状态,则可以从以从 sys.master_filessys.master_files 目录视图中查看文件的状态。目录视图中查看文件的状态。如图如图3-143-14所示。所示。 可以在查询设计器窗口中输入如下代码并执行,即可查可以在查询设计器窗口中输入如下代码并执行,即可查看到相关数据文件的状态信息。看到相关数据文件的状态信息。Select Select name,physical_name,type,type_desc,statename,physical
51、_name,type,type_desc,state, , state_descstate_descFrom From sys.master_filessys.master_files图图3-14 数据库文件的状态信息数据库文件的状态信息46L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v数据库状态含义数据库状态含义 ONLINEONLINE表示可以对数据库进行访问。表示可以对数据库进行访问。 OFFLINEOFFLINE表示数据库无法使用。表示数据库无法使用。 RESTORINGRESTORING表示正在还原主文件组的一个或表示正在还原主文
52、件组的一个或多个文件,或正在离线还原一个或多个辅助文多个文件,或正在离线还原一个或多个辅助文件,此时数据库不可用。件,此时数据库不可用。 RECOVERINGRECOVERING表示正在恢复数据库。表示正在恢复数据库。47L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v数据库状态含义数据库状态含义 ECOVERY PENDINGECOVERY PENDING表示表示SQL Server SQL Server 在恢复过程中遇在恢复过程中遇到了与资源相关的错误,数据库未损坏,但是可能缺到了与资源相关的错误,数据库未损坏,但是可能缺少文件,或系统资
53、源限制可能导致无法启动数据库。少文件,或系统资源限制可能导致无法启动数据库。此时数据库不可用。此时数据库不可用。 SUSPECT SUSPECT表示至少主文件组可疑或可能已损坏。表示至少主文件组可疑或可能已损坏。 EMERGENCY EMERGENCY表示用户更改了数据库,并将其状态设表示用户更改了数据库,并将其状态设置为置为 EMERGENCYEMERGENCY。数据库处于单用户模式,可以修。数据库处于单用户模式,可以修复或还原。复或还原。48L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v数据库文件状态含义数据库文件状态含义 ONLINE
54、ONLINE表示文件可用于所有操作。如果数据库本身处表示文件可用于所有操作。如果数据库本身处于在线状态,则主文件组中的文件始终处于在线状态。于在线状态,则主文件组中的文件始终处于在线状态。 OFFLINEOFFLINE表示文件不可访问,并且可能不显示在磁盘中表示文件不可访问,并且可能不显示在磁盘中。文件通过显式用户操作变为离线,并在执行其他用户。文件通过显式用户操作变为离线,并在执行其他用户操作之前保持离线状态。操作之前保持离线状态。49L o g oL o g o管理数据库管理数据库 1. 1.查看数据库状态信息查看数据库状态信息 v数据库文件状态含义数据库文件状态含义 RESTORINGR
55、ESTORING表示正在还原文件。表示正在还原文件。 RECOVERY PENDINGRECOVERY PENDING表示文件恢复被推迟。表示文件恢复被推迟。 SUSPECTSUSPECT表示在线还原过程中,恢复文件失败。如果表示在线还原过程中,恢复文件失败。如果文件位于主文件组,则数据库还将标记为可疑。否则文件位于主文件组,则数据库还将标记为可疑。否则,仅文件处于可疑状态,而数据库仍处于在线状态。,仅文件处于可疑状态,而数据库仍处于在线状态。 DEFUNCTDEFUNCT表示当文件不处于在线状态时被删除。表示当文件不处于在线状态时被删除。50L o g oL o g o管理数据库管理数据库
56、2. 2. 数据库的属性设置数据库的属性设置 v 数据库更名数据库更名: : 一种方法是一种方法是SQL SQL ServerManagementServerManagement Studio Studio中选中此数据库中选中此数据库,右击鼠标,在弹出的快捷菜单中选择,右击鼠标,在弹出的快捷菜单中选择“重命名重命名”。或者。或者直接利用直接利用ALTER DATABASEALTER DATABASE命令来实现。命令来实现。 另一种方法是使用系统存储过程另一种方法是使用系统存储过程sp_renamedbsp_renamedb更改数据库更改数据库的名称。在重命名数据库之前,应该确保没有用户正在使的
57、名称。在重命名数据库之前,应该确保没有用户正在使用该数据库。用该数据库。 系统存储过程系统存储过程sp_renamedbsp_renamedb语法如下:语法如下: sp_renamedbsp_renamedb dbnamedbname=old_nameold_name,newname,newname=new_namenew_name【例例 3.63.6】将名为将名为studentstudent数据库改名为数据库改名为STUDENTDBSTUDENTDB。51L o g oL o g o管理数据库管理数据库 2. 2. 数据库的属性设置数据库的属性设置 v 限制用户对数据库的访问限制用户对数据库
58、的访问: :在在SQL Server 2008 SQL Server 2008 的运行过程中的运行过程中,有时需要限制用户的访问,例如,有时需要限制用户的访问,例如, ,在数据库在数据库test01test01的的“数数据库属性据库属性”对话框中选择对话框中选择“选项选项”选项卡,选择选项卡,选择“状态状态”| |“限制访问限制访问”下拉框,出现下拉框,出现3 3个选项。个选项。 MultipleMultiple: 数据库处于正常生产状态,允许多个用户同数据库处于正常生产状态,允许多个用户同时访问数据库。时访问数据库。 SingleSingle:指定一次只能一个用户访问,其他用户的连接:指定一
59、次只能一个用户访问,其他用户的连接被中断。被中断。 RestrictedRestricted:限制除:限制除db_owerdb_ower(数据库所有者)、(数据库所有者)、 dbcreatordbcreator (数据库创建者)和(数据库创建者)和sysadminsysadmin(系统管理员)(系统管理员)以外的角色成员访问数据库,但对数据库的连接不加以外的角色成员访问数据库,但对数据库的连接不加限制。一般在维护数据库时,将数据库设置为该状态限制。一般在维护数据库时,将数据库设置为该状态。52L o g oL o g o管理数据库管理数据库 2. 2. 数据库的属性设置数据库的属性设置 v 修
60、改数据库的排序规则修改数据库的排序规则(1 1)了解排序规则的含义。以)了解排序规则的含义。以Chinese_PRC_CS_AI_WSChinese_PRC_CS_AI_WS为例为例,该规则可以分成两部分来理解。前半部分指排序规则所,该规则可以分成两部分来理解。前半部分指排序规则所支持的字符集,如支持的字符集,如Chinese_PRCChinese_PRC_ _表示对简体字表示对简体字UNICODEUNICODE的排序规则,而后半部分常见的组合的含义如下。的排序规则,而后半部分常见的组合的含义如下。 _BIN_BIN:二进制排序。:二进制排序。 _CI(CS)_CI(CS):是否区分大小写,:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息处理技术的挑战与机遇试题及答案
- 探索编程语言的特性与选择试题及答案
- 软件工程案例分析及答案
- 黑龙江省哈尔滨尚志市2025年七年级数学第二学期期末达标检测试题含解析
- 2025人文医学定期考核题库及答案
- 计算机VB考试必考知识与试题及答案
- 复杂问题解决思路试题及答案
- 高考数学知识盲点补救试题及答案
- 行政法学变革趋势与试题答案指南
- 流行动态的网络管理员试题及答案
- 农村土地承包经营权流转及农业基础设施投资协议
- 安徽省六安市2024-2025学年八年级(下)期中历史试卷(含答案)
- 新兴原料市场分析-洞察阐释
- 社工岗前培训课件
- 《企业的股权规范化落地实务》-20250506
- 福建省三明市2025年普通高中高三毕业班五月质量检测物理试卷及答案(三明四检)
- 山东省青岛市、淄博市2025年高三年级第二次适应性检测英语试题及答案(青岛、淄博二模)
- 广东省佛山市高三二模语文试题(原卷版)
- 2024年新疆额敏县事业单位公开招聘村务工作者笔试题带答案
- 早产儿试题及答案多选
- 2025年上海市静安区初三二模语文试卷(含答案)
评论
0/150
提交评论