SQL Serverでパーティションテーブルを作成するには
事前にパーティション関数、パーティション構成を作成する必要がある。
作成例のSQL
/* パーティション関数を作成 */
CREATE PARTITION FUNCTION PT_HOGE(char(8)) AS
RANGE LEFT FOR VALUES('20200101','20210101');
/* パーティション構成を作成し、関数とファイルグループに関連付け*/
CREATE PARTITION SCHEME PT_SCH_HOGE
AS PARTITION PT_HOGE
ALL TO ([PRIMARY]) --★今回はテストのためすべてPRIMARYファイルグループに割付
;
/* column_hoge_dateの列にパーティションPT_HOGEを関連付けたテーブルを作成*/
CREATE TABLE tbl_hoge2(
[column_hoge_date] [char](8) NOT NULL,
[column_hoge_ID] [char](20) NOT NULL
CONSTRAINT [PK_TBL_HOGE2] PRIMARY KEY CLUSTERED
(
[column_hoge_date] ASC,
[column_hoge_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY],
) ON [PT_SCH_HOGE](column_hoge_date) --★ここでパーティション構成とカラムを指定
;
テーブルの各データのパーティションがどうなっているかは$partition.パーティション関数で確認できる
SELECT
$partition.PT_HOGE([column_hoge_date]),--パーティション
tbl_hoge2.*
FROM tbl_hoge2
動作確認環境:SQL Server 2017