进一步学习文件组对于数据库的作用???

 /*--功能说明

 下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库
 该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件
 ALTER DATABASE语句将用户定义文件组指定为默认文件组。
 之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。
 最后,将文件组中的指定数据文件删除
--*/

--切换到 master 数据库
USE master  -----------------------首先打开MASTER
GO

--A. 创建数据库 MyDB
CREATE DATABASE MyDB
ON PRIMARY                           --主文件组和主要数据文件   -----。MDF属于主文件组和主要数据文件,用户不能对他---------们进行更改
  ( NAME='MyDB_Primary',     -------------------------------------------LOGIC FILENAME(USE REFERENCE)
   FILENAME= 'c:/MyDB_Prm.mdf'), ------------------------PHYSICAL FILENAME
FILEGROUP MyDB_FG1                   --用户定义文件组1   ----CREATE FILEGROUP
  ( NAME = 'MyDB_FG1_Dat1',              -----------------------------可以自定义多个文件组(。NDF)
   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  ------------------把图像数据(image)放到其它不同于其它的文件组中,不要和数据文件在同一个文件组中

--在用户定义文件组MyDB_FG2上创建索引
CREATE INDEX IX_MyTable ON MyTable(cola) ON MyDB_FG2
GO

-----------可以把一个文件组上的数据文件。NDF转移到其它的数据文件中(同一个文件组中),前提是在同一个文件组上有多个附加数据文件。NDF
--D. 将要删除数据文件MyDB_FG1_Dat1上的数据转移到其他数据文件中,并且清空数据文件MyDB_FG1_Dat1
DBCC SHRINKFILE(MyDB_FG1_Dat1,EMPTYFILE)   ----dbcc shrinkfile(mydb_fg1_dat1,emptyfile)---
--删除数据文件MyDB_FG1_Dat1
ALTER DATABASE MyDB REMOVE FILE MyDB_FG1_Dat1   ------------DELETE DATEFILE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值