sqlserver 分區,反正是沒有看懂哎

--一 創建分區函數
create PARTITION FUNCTION dwss_15M_partfunc(int)  AS RANGE
right
FOR VALUES (1,2);

 

--二 建立文件組
ALTER DATABASE test ADD FILEGROUP dwss_15M_fg
--ALTER DATABASE zntest ADD FILEGROUP dwss_15M_fg
--三創建文件
ALTER DATABASE test
ADD FILE (NAME = N'dwss_15M_fg1',FILENAME = N'd:\Data\dwss_15M_1.ndf',SIZE = 5MB,MAXSIZE = UNLIMITED,FILEGROWTH = 5MB)
TO FILEGROUP [dwss_15M_fg]

ALTER DATABASE test
ADD FILE (NAME = N'dwss_15M_fg2',FILENAME = N'd:\Data\dwss_15M_2.ndf',SIZE = 5MB,MAXSIZE = UNLIMITED,FILEGROWTH = 5MB)
TO FILEGROUP dwss_15M_fg

ALTER DATABASE test
ADD FILE (NAME = N'dwss_15M_fg3',FILENAME = N'd:\Data\dwss_15M_3.ndf',SIZE = 5MB,MAXSIZE = UNLIMITED,FILEGROWTH = 5MB)
TO FILEGROUP dwss_15M_fg

--四 將邏輯上的分區(分區函數)和物理上的分區(文件組)關聯起來
CREATE PARTITION SCHEME [dwss_15M_RangeScheme]
AS PARTITION dwss_15M_partfunc ALL TO(dwss_15M_fg)


--五 重建索引
EXEC sp_helpindex N'dbo.t_dw_xc_ssyyzb_xl' --查看orders中使用的索引
drop index PK_t_dw_xc_ssyyzb_xl_1
on t_dw_xc_ssyyzb_xl;

create clustered index t_dw_xc_ssyyzb_xl_clusterindex
on t_dw_xc_ssyyzb_xl(fenzuid)
on [dwss_15M_RangeScheme](fenzuid);
go


create clustered index t_dw_xc_ssyyzb_xl_today_clusterindex
on t_dw_xc_ssyyzb_xl_today(fenzuid)
ON [dwss_15M_fg]

create clustered index t_dw_xc_ssyyzb_xl_todaytoday_clusterindex
on t_dw_xc_ssyyzb_xl_todaytoday(fenzuid)
ON [dwss_15M_fg]
--對於其他索引
CREATE NONCLUSTERED INDEX [ix_t_dw_xc_ssyyzb_xlcz_dwxl]
ON [dbo].[t_dw_xc_ssyyzb_xl_today]
(
 [xlid] ASC,
 [cdid] ASC,
 [dwid] ASC
)--WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = ON, IGNORE_DUP_KEY = OFF, ONLINE = OFF)
 ON [dwss_15M_RangeScheme]([fenzuid])
GO

--六查看分區情況
select * from sys.partitions where object_id = object_id('t_dw_xc_ssyyzb_xl');
select * from sys.partition_range_values
--把分區表的數據移動到普通表
alter table t_dw_xc_ssyyzb_xl
switch partition 2 to t_dw_xc_ssyyzb_xl_today


--七 刪除
DROP TABLE dbo.t_dw_xc_ssyyzb_xl
DROP TABLE dbo.t_dw_xc_ssyyzb_TODAY
DROP TABLE dbo.t_dw_xc_ssyyzb_TODAYTODAY
DROP PARTITION SCHEME [dwss_15M_RangeScheme]
DROP PARTITION FUNCTION dwss_15M_partfunc
/*刪除文件*/
ALTER DATABASE test
REMOVE FILE dwss_15M_fg3

--/*刪除文件組*/
alter database test
remove filegroup dwss_15M_fg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章