如何將已經存在的Table轉移到別的FileGroup

如何將已經存在的Table轉移到別的FileGroup

我們都知道Clustered Index就是Table本身,因此如果我們要轉移

Table到另外的FileGroup上,在MSSQL就是透過建立一個Clustered

Index到新FileGroup的方式來做資料表更換儲存體。

 

語法如下:

--如果Clustered Index是Unique則語法如下



	CREATE UNIQUE CLUSTERED INDEX [PK_MYTABLE]

	ON [MYTABLE](ID)

	WITH(DROP_EXISTING = ON)

	ON [NEW_FILEGROUP]

--這裡指定要轉移到哪一個FileGroup

 

如果Clustered Index不是唯一則

 



	CREATE CLUSTERED INDEX [PK_MYTABLE]

	ON [MYTABLE](ID)

	WITH(DROP_EXISTING = ON)

	ON [NEW_FILEGROUP]

另一種方式為



ALTER TABLE tb DROP CONSTRAINT PK_id WITH (MOVE TO SecFileGroup)

ALTER TABLE tb ADD CONSTRAINT PK_id PRIMARY KEY(id)

我是ROCK

rockchang@mails.fju.edu.tw