如何將已經存在的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