首页 > 代码库 > 数据库文件组小记

数据库文件组小记

1) 如何将一个数据表从A 文件组移动到 B文件组中

--要点:只需将聚集索引建立在需要移动的数据组中,数据页面也会随之移动到对应的文件组中

--创建数据表
 CREATE TABLE tb(id INT ,cname NVARCHAR(4000)) ON [FG_A] 
 GO
 --INSERT DATA
 INSERT INTO [dbo].[tb]
 SELECT 1,aaaaaaa
 
--创建聚集索引(必须是聚集索引)
CREATE CLUSTERED INDEX PK_ID ON [dbo].[tb]([id]) WITH(ONLINE=ON) ON [FG_B]
GO

--收缩FG_A
DBCC SHRINKFILE(FG_A,1)

2) 修改数据文件名称

--更改文件组名称
alter database Test
modify file(name=Test1,newname=test2)

3) 当同一个文件组有两个或多个文件时,如何删除某个文件

--若文件组FG_A中有两个次要文件Test1,Test0.
--现Test1中已有数据,如何删除Test1文件,同时Test1中的数据不能丢失
--1)将Test1中的数据转移,系统会自动将数据移动到Test0的文件中
DBCC SHRINKFILE(Test1,EMPTYFILE) 
--2)移除Test1文件
ALTER DATABASE Test REMOVE file Test1