SQL SERVER中的文件和文件组.doc
文本预览下载声明
SQL SERVER中的文件和文件组
SQL SERVER中的文件和ORACLE中的数据文件差不多,而文件组则和ORACLE中的表空间类似。
每个SQL SERVER数据库中的至少具有两个操作系统文件:一个数据文件和一个日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。
而数据文件可以分为两种:主要数据文件和次要数据文件
主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf.
次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是 .ndf。
文件组每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。
这个文件组的概念就和ORACLE中的表空间类似。在ORACLE中在不同的磁盘上创建多个数据文件,并将数据文件划分到同一表空间上提高性能。在SQL SERVER中也是类似的,可以分别在两个磁盘分别创建两个文件data1.ndf和data2.ndf,然后将他们分配给文件组fgroup1上。这样在fgroup1上创建一张表test,表中的数据就会分配到两个磁盘上,提高性能。
主文件组??主要包含主要文件的文件组。所有系统表都被分配到主要文件组中。
用户定义文件組用户首次创建数据库或以后修改数据库时明确创建的任何文件组
默认文件组如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。PRIMARY 文件组是默认文件组,除非使用 ALTER DATABASE 语句进行了更改。但系统对象和表仍然分配给 PRIMARY 文件组,而不是新的默认文件组。
下面创建个数据库sunwg举例说明
create database sunwgon primary??????????????????????????????????? –主文件组和主要数据文件(name=’sunwg_Primary’,filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_primary.mdf’),filegroup sunwg_filegroup1?????????????????????? –用户定义文件组1(name=’sunwg_fg_data1′,filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_1.ndf’),–次要数据文件1(name=’sunwg_fg_data2′ ,??????????????????filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_2.ndf’),–次要数据文件2filegroup sunwg_filegroup2(name=’sunwg_fg_data3′,filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_3.ndf’)log on(name=’sunwg_log’,filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_log.ldf’)go
数据库sunwg结构如下:主文件组名字:sunwg_Primary主文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_primary.mdf
用户定义文件组名字:sunwg_filegroup1
显示全部