SQL Server中一个数据库中有多个数据库文件是什么意思?怎么创建多个数据库文件?文件组又是什么意思?

小弟刚学麻烦热心的网友讲明白一点.非常感谢!

SQL Server中一个数据库可以对应多个物理文件,其中有一个的主数据库文件,扩展名为MDF,其他为次数据库文件,扩展名为NDF。可以将不同的文件存放在不同的驱动器上,可以提高数据访问速度。
文件组是逻辑概念,主要目的是将文件分组管理。
create database db3
on
primary --主文件组
(name='db3_dat1', --数据库主文件
filename='d:\db3_dat1.mdf',
size=10mb,
maxsize=100mb,
filegrowth=10%
),
(name='db2_dat2', --主文件组,是次数据库文件
filename='d:\db2_dat2.ndf',
size=10mb,
maxsize=100mb,
filegrowth=10%
),
filegroup db3g1 --第2个文件组
(name='db3_dat3', --第2个文件组中的次数据库
filename='d:\db2_dat3.ndf',
size=10mb,
maxsize=30mb,
filegrowth=5mb
),
(name='db3_dat4', --第2个文件组中的次数据库
filename='d:\db2_dat4.ndf',
size=5mb,
maxsize=30mb,
filegrowth=5mb
),
filegroup db3g2 --第三个文件组
(name='db3_dat5', ----第三个文件组中的次数据库
filename='d:\db2_dat5.ndf',
size=10mb,
maxsize=50mb,
filegrowth=20%
)
log on
(name='db3_log', --日志文件
filename='d:\db3_log.ldf',
size=20mb,
maxsize=100mb,
filegrowth=10mb
)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-02
数据库对于程序或人来说,实际上是一个抽象的概念,使用者不必关心数据库内部的查询实现机制、只需知道通过指定的逻辑进行查询就可以得到想要的内容。

而数据库文件,则是在机器上(磁盘上)保存的物理文件的管理形式,多个数据库文件主要指的是主从数据库文件,同一个数据库可以有多个文件,就好比一个班级的同学共同组成一个班级体一样,在外面看来是一个整体,只不过内部的细致划分不同。

创建多个数据库文件,可以用SQL语句,比如
CREATE DATABASE Demo
ON PRIMARY
(NAME=demo_mdf,
FILENAME=' ... .MDF'),
(NAME=demo_ndf1,
FILENAME=' ... .NDF')
这样就可以创建多个数据库文件了。

文件组,则是数据文件的集合,目的是便于进行管理和数据的分配,也可以提高查询性能。文件组的概念在分布式查询中多用一些,一般初学不必深究。
相似回答