/*--功能说明
下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库
该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件
ALTER DATABASE语句将用户定义文件组指定为默认文件组。
之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。
最后,将文件组中的指定数据文件删除
--*/
--切换到 master 数据库
USE master
GO
--A. 创建数据库 MyDB
CREATE DATABASE MyDB
ON PRIMARY --主文件组和主要数据文件
( NAME='MyDB_Primary',
FILENAME= 'c:\MyDB_Prm.mdf'),
FILEGROUP MyDB_FG1 --用户定义文件组1
( NAME = 'MyDB_FG1_Dat1',
FILENAME = 'c:\MyDB_FG1_1.ndf'), --次要数据文件1
( NAME = 'MyDB_FG1_Dat2',
FILENAME = 'd:\MyDB_FG1_2.ndf'), --次要数据文件2
FILEGROUP MyDB_FG2 --用户定义文件组2
( NAME = 'MyDB_FG1_Dat',
FILENAME = 'e:\MyDB_FG2.ndf') --次要数据文件
LOG ON --日志文件
( NAME='MyDB_log',
FILENAME ='d:\MyDB.ldf')
GO
--B. 修改默认数据文件组
ALTER DATABASE MyDB MODIFY FILEGROUP MyDB_FG1 DEFAULT
GO
--切换到新建的数据库 MyDB
USE MyDB
--C. 在默认文件组MyDB_FG1创建表,并且指定图像数据保存在用户定义文件组MMyDB_FG2
CREATE TABLE MyTable
( cola int PRIMARY KEY ,
colb char(8) ,
colc image )
TEXTIMAGE_ON MyDB_FG2
--在用户定义文件组MyDB_FG2上创建索引
CREATE INDEX IX_MyTable ON MyTable(cola) ON MyDB_FG2
GO
--D. 将要删除数据文件MyDB_FG1_Dat1上的数据转移到其他数据文件中,并且清空数据文件MyDB_FG1_Dat1
DBCC SHRINKFILE(MyDB_FG1_Dat1,EMPTYFILE)
--删除数据文件MyDB_FG1_Dat1
ALTER DATABASE MyDB REMOVE FILE MyDB_FG1_Dat1
下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库
该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件
ALTER DATABASE语句将用户定义文件组指定为默认文件组。
之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。
最后,将文件组中的指定数据文件删除
--*/
--切换到 master 数据库
USE master
GO
--A. 创建数据库 MyDB
CREATE DATABASE MyDB
ON PRIMARY --主文件组和主要数据文件
( NAME='MyDB_Primary',
FILENAME= 'c:\MyDB_Prm.mdf'),
FILEGROUP MyDB_FG1 --用户定义文件组1
( NAME = 'MyDB_FG1_Dat1',
FILENAME = 'c:\MyDB_FG1_1.ndf'), --次要数据文件1
( NAME = 'MyDB_FG1_Dat2',
FILENAME = 'd:\MyDB_FG1_2.ndf'), --次要数据文件2
FILEGROUP MyDB_FG2 --用户定义文件组2
( NAME = 'MyDB_FG1_Dat',
FILENAME = 'e:\MyDB_FG2.ndf') --次要数据文件
LOG ON --日志文件
( NAME='MyDB_log',
FILENAME ='d:\MyDB.ldf')
GO
--B. 修改默认数据文件组
ALTER DATABASE MyDB MODIFY FILEGROUP MyDB_FG1 DEFAULT
GO
--切换到新建的数据库 MyDB
USE MyDB
--C. 在默认文件组MyDB_FG1创建表,并且指定图像数据保存在用户定义文件组MMyDB_FG2
CREATE TABLE MyTable
( cola int PRIMARY KEY ,
colb char(8) ,
colc image )
TEXTIMAGE_ON MyDB_FG2
--在用户定义文件组MyDB_FG2上创建索引
CREATE INDEX IX_MyTable ON MyTable(cola) ON MyDB_FG2
GO
--D. 将要删除数据文件MyDB_FG1_Dat1上的数据转移到其他数据文件中,并且清空数据文件MyDB_FG1_Dat1
DBCC SHRINKFILE(MyDB_FG1_Dat1,EMPTYFILE)
--删除数据文件MyDB_FG1_Dat1
ALTER DATABASE MyDB REMOVE FILE MyDB_FG1_Dat1