第3章数据库文件管理 3.1数据库存储结构 3.2创建数据库 3.3修改数据库 3.4删除数据库 3.5检索数据库信息
第3章 数据库文件管理 3.1 数据库存储结构 3.2 创建数据库 3.3 修改数据库 3.4 删除数据库 3.5 检索数据库信息
3.1数据库存储结构 3.1.1数据库文件和文件组 第令数据库文件 SQ. Server2000数据库文件有三种类型:主要数据文件 数(.mdf)、次要数据文件(.ndf)和日志文件(.ldf)。每 据个数据库都必须有一个主要数据文件;而次要数据文件不作 要求,可以没有,也可以有多个;每个数据库必须至少有 件个日志文件,但可以有多个。 文件组 文件组( primary)、用户定义的文件组和默认的文件组 ( defaul)。 SQL Server2000至少包含一个文件组,即主文 件组
第 3 章 数 据 库 文 件 管 理 3.1 数据库存储结构 3.1.1 数据库文件和文件组 ❖数据库文件 SQL Server 2000数据库文件有三种类型:主要数据文件 (.mdf)、次要数据文件(.ndf)和日志文件(.ldf)。每 个数据库都必须有一个主要数据文件;而次要数据文件不作 要求,可以没有,也可以有多个;每个数据库必须至少有一 个日志文件,但可以有多个。 ❖文件组 文件组(primary)、用户定义的文件组和默认的文件组 (default)。 SQL Server 2000至少包含一个文件组,即主文 件组
3.1.2数据库文件的空间分配 第 数据库建立起来后,系统自动为数据文件和日志文件分配了 3 定的空间,默认大小为IMB,用户可以根据需要重新为其 章分配空间。具体方法为:展开服务器组,然后展开服务器实 数 据 例;找到相应的数据库,单击鼠标右键,在弹出的快捷菜单 库中选择“属性”命令,打开数据库属性对话框。在“数据文 文件”或“事务日志”选项卡中的“分配的空间”栏里填入新 件的空间大小。 ■注意:重新指定的齦据库分配空间必须大于现有空间,否则 S2ASev将会报错。 ○●
第 3 章 数 据 库 文 件 管 理 3.1.2 数据库文件的空间分配 数据库建立起来后,系统自动为数据文件和日志文件分配了 一定的空间,默认大小为1MB,用户可以根据需要重新为其 分配空间。具体方法为:展开服务器组,然后展开服务器实 例;找到相应的数据库,单击鼠标右键,在弹出的快捷菜单 中选择“属性”命令,打开数据库属性对话框。在“数据文 件”或“事务日志”选项卡中的“分配的空间”栏里填入新 的空间大小。 注意:重新指定的数据库分配空间必须大于现有空间,否则 SQL Server将会报错
3.1.3数据库规划 第通常根据以下事实进行计算: 章√一个数据库的最小尺寸必须大于或等于 model数据库的大 数小,因为新建数据库是 model数据库的拷贝。 库√估算数据库的大小。 件
3.1.3 数据库规划 通常根据以下事实进行计算: ✓一个数据库的最小尺寸必须大于或等于model数据库的大 小,因为新建数据库是model数据库的拷贝。 ✓估算数据库的大小。 第 3 章 数 据 库 文 件 管 理
3.2创建数据库 第 3.2.1使用 SQL Server企业管理器创建数据库 32.2使用创建数据库向导创建数据库 数 据 3.2.3使用 Creat Database语句创建数据库 Creat database语句的语法结构如下: 件
3.2 创建数据库 3.2.1 使用SQL Server 企业管理器创建数据库 3.2.2 使用创建数据库向导创建数据库 3.2.3 使用Creat Database 语句创建数据库 Creat Database 语句的语法结构如下: 第 3 章 数 据 库 文 件 管 理
a CREATE DATABASE database_name 3[ ON 章[[,,n] [, filegroup>[,.n] J 据 库[L0GN([ ]} 文 COLLATE collation name fe.[ FOR LOAD I FOR ATTACH J 理: PRIMARY (I NAME= logical file name FILENAME =os file name L, SIZE size MAXSIZE =I max size UNLIMITED)] [, FILegROWTH= growth increment])[,..n K filegroup ) FILEGROUP filegroup name[ n ○●
第 3 章 数 据 库 文 件 管 理 CREATE DATABASE database_name [ ON [ [ ,...n ] ] [ , [ ,...n ] ] ] [ LOG ON { [ ,...n ] } ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ] ::= [ PRIMARY ] ( [ NAME = logical_file_name , ] FILENAME = 'os_file_name' [ ,SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [,...n ] ::= FILEGROUP filegroup_name [ ,...n ]
其中: ● database name:新数据库的名称。数据库名称在服务器中必须惟一,并 第且符合标识符的规则。 database name最多可以包含128个字符,除非没 3有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 ISQL Server会 章通过向 database name追加后缀来生成逻辑名。该操作要求 数 database name在123个字符之内,以便生成的日志文件逻辑名少于12 库个字符 文●0N:指定显式定义用来存储数据库数据部分的磁盘文件(数据文件) 件关键字后跟以逗号分隔的项用以定义主 文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的项列表,列表定义主文件。主文件组包含所有数 据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。 个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE ATABASE语句中列出的第一个文件将成为主文件。 ○●
其中: ldatabase_name:新数据库的名称。数据库名称在服务器中必须惟一,并 且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没 有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则SQL Server 会 通过向 database_name 追 加 后 缀 来 生 成 逻 辑 名 。 该 操 作 要 求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。 lON:指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该 关键字后跟以逗号分隔的 项列表, 项用以定义主 文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 项列表(可选), 项用以定义用户文件组及其文件。 lLOG ON:指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该 关键字后跟以逗号分隔的 项列表, 项用以定义日 志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系 统生成的名称,大小为数据库中所有数据文件总大小的 25%。 lPRIMARY:指定关联的 列表定义主文件。主文件组包含所有数 据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。 一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。 第 3 章 数 据 库 文 件 管 理
●NAME∷:为由定义的文件指定操作系统文件名 ●SIZE:指定中没有提供SIZE参数,那么 SQL Server将使用 model数 理据库中的主文件大小。如果次要文件或日志文件的 filespec>中没有指 定SIZE参数,则 SQL Server将使文件大小为1MB ● MAXSIZE:指定中定义的文件可以增长到的最大大小 ● FILEGROWTH:指定< filespec〉中定义的文件的增长增量。文件的 FILEGROWTH设置不能超过 MAXSIZE设置
第 3 章 数 据 库 文 件 管 理 lNAME:为由 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。 llogical_file_name:用来在创建数据库后执行的 Transact-SQL 语句 中引用文件的名称。logical_file_name 在数据库中必须惟一,并且符合 标识符的规则。该名称可以是字符或 Unicode 常量,也可以是常规标识 符或定界标识符。 l FILENAME:为 定义的文件指定操作系统文件名。 lSIZE: 指 定 中定义的文件的大小 。 如果主文件的 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数 据库中的主文件大小。如果次要文件或日志文件的 中没有指 定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。 lMAXSIZE:指定 中定义的文件可以增长到的最大大小。 lFILEGROWTH:指定 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置
下面用 Creat database语句来创建 Educational数据库,其主文件大小 为10MB,最大为20MB,增长方式为10%;日志文件的大小为2AB,最大 为6MB,增长方式为IMB。 CREATE dATABASE Educational 第3章数 PRIMARY(NAME=EducationalData VE FILENAME='C: \Program Files Microsoft SQL 库 Server MSSQL、 DATA Education Data.mdf 文sIZE=10MB 件 MAXSIZE=2OMB 理 FILEGROWTH=10%) LOG ON(NAME-EducationalLog FILENAME=C: Program Files Microsoft SQI Server MSSQL DATA Education Log. Idf? SIZE=2MB MAXSIZE=6MB FILEGROWTH=IMB ○●
第 3 章 数 据 库 文 件 管 理 下面用Creat Database语句来创建Educational数据库,其主文件大小 为10MB,最大为20MB,增长方式为10%;日志文件的大小为2MB,最大 为6MB,增长方式为1MB。 CREATE DATABASE Educational ON PRIMARY (NAME=EducationalData, FILENAME=’C:\Program Files\Microsoft SQL Server\MSSQL\DATA\Education_Data.mdf’, SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=10%) LOG ON (NAME=EducationalLog, FILENAME=’C:\Program Files\Microsoft SQL Server\MSSQL\DATA\Education_Log.ldf’, SIZE=2MB, MAXSIZE=6MB, FILEGROWTH=1MB)
3.3修改数据库 创建数据库后,可以对其原始定义进行修改。修改包括: 第√扩充分配给数据库的数据或事务日志空间。 3 章√收缩分配给数据库的数据或事务日志空间。 数 据√添加或删除数据和事务日志文件 库 文√创建文件组。 件 创建默认文件组。 更改数据库的配置设置 脱机放置数据库。 √附加新数据库或分离未使用的数据库。 √更改数据库名称。 √更改数据库的所有者
创建数据库后,可以对其原始定义进行修改。修改包括: ✓扩充分配给数据库的数据或事务日志空间。 ✓收缩分配给数据库的数据或事务日志空间。 ✓添加或删除数据和事务日志文件。 ✓创建文件组。 ✓创建默认文件组。 ✓更改数据库的配置设置。 ✓脱机放置数据库。 ✓附加新数据库或分离未使用的数据库。 ✓更改数据库名称。 ✓更改数据库的所有者。 3.3 修改数据库 第 3 章 数 据 库 文 件 管 理