物理数据库文件和文件组
Microsoft® SQL Server™ 2000 将数据库映射到一组操作系统文件上。数据和日志信息绝不混合在同一个文件中,而且个别文件只由一个数据库使用。
SQL Server 2000 数据库有三种类型的文件:
主要数据文件
主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。
次要数据文件
次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
日志文件
日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。
在 SQL Server 2000 的默认实例上创建数据库。该数据库包括一个主要数据文件、一个用户定义的文件组和一个日志文件。主要数据文件在主文件组中,而用户定义文件组有两个次要数据文件。ALTER DATABASE 语句将用户定义文件组指定为默认文件组。之后,通过指定用户定义的文件组来创建表。
USE master
GO
-- Create the database with the default data
-- filegroup and the log file. Specify the
-- growth increment and the max size for the
-- primary data file.
CREATE DATABASE MyDB
ON PRIMARY
( NAME= 'MyDB_Primary ',
FILE NAME=
'c:\Program Files\Microsoft SQL Server\MSSQL\data\MyDB_Prm.mdf ',
SIZE=4,
MAXSIZE=10,
FILEGROWTH=1),
FILEGROUP MyDB_FG1
( NAME = 'MyDB_FG1_Dat1 ',
FILE NAME =
'c:\Program Files\Microsoft SQL Server\MSSQL\data\MyDB_FG1_1.ndf ',
SIZE = 1MB,
MAXSIZE=10,
FILEGROWTH=1),
( NAME = 'MyDB_FG1_Dat2 ',
FILE NAME =
'c:\Program Files\Microsoft SQL Server\MSSQL\data\MyDB_FG1_2.ndf ',
SIZE = 1MB,
MAXSIZE=10,
FILEGROWTH=1)
LOG ON
( NAME= 'MyDB_log ',
FILE NAME =
'c:\Program Files\Microsoft SQL Server\MSSQL\data\MyDB.ldf ',
SIZE=1,
MAXSIZE=10,
FILEGROWTH=1)
GO
ALTER DATABASE MyDB
MODIFY FILEGROUP MyDB_FG1 DEFAULT
GO
-- Create a table in the user-defined filegroup.
USE MyDB
CREATE TABLE MyTable
( cola int PRIMARY KEY,
colb char(8) )
ON MyDB_FG1
GO
可以将用户文件组设成只读,数据不能更改,但可以修改目录以执行权限管理等工作。
SQL Server 2000 数据库可以从服务器中分离出来,然后重新连接到另一台服务器或原来的服务器上。这对制作要分发的、以便用于在客户的本地 SQL Server 安装上使用的数据库特别有用。例如,公司可以创建包含其当前产品目录的数据库。公司可以在可写的光盘驱动器上创建这个数据库,并将它设成只读。然后,他们可以复制这张光盘,给那些在 Windows 95 便携式电脑上安装了目录应用程序和 SQL Server 的地区销售代表发送复本。这样一来,销售代表就有了最新的产品目录信息。
ON {filegroup | DEFAULT}
指定存储表的文件组。如果指定 filegroup,则表将存储在指定的文件组中。数据库中必须存在该文件组。如果指定 DEFAULT,或者根本未指定 ON 参数,则表存储在默认文件组中。
ON [PRIMARY]就是把表存储在主文件组
文件组是MS sql 里管理和分配数据的一种方式!
ON [PRIMARY] 主文件组给的意思!
(DEFAULT 并不是关键字。DEFAULT 是默认文件组的标识符并需对其进行定界,如 ON "DEFAULT"、ON [DEFAULT]。)
ON [PRIMARY]是表示表是建立在主文件组上。PRIMARY表示主文件组。如果没有指定默认文件组,则主文件组是默认文件组,ON [PRIMARY]也可以省略掉了。
数据库中的文件是放在文件组里的~```
你可以指定存放的位置,或是默认的位置~`` ON [PRIMARY] 就是把数据库中的东西存储在主文件组中 |