微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

file,filegroup and tempdb in sqlserver

/*--功能说明


下面的代码是在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


--A. 将tempdb数据库的主数据文件大小设置为10MB。 ALTER DATABASE tempdb MODIFY FILE( name=tempdev,size=100 MB) GO --B. 将tempdb数据库的主数据文件移动到指定的磁盘分区上,并且为其添加一个数据文件。 --移动主数据文件 ALTER DATABASE tempdb MODIFY FILE   ( NAME='tempdev',   FILENAME ='d:\tempdb.mdf') --添加次要数据文件 ALTER DATABASE tempdb ADD FILE   ( NAME='tempdata_1',   FILENAME ='d:\tempdb_data_1.ndf')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐