ご覧のとおり、このファイル グループを作成します。
データベース AdventureWorksDW の作成
ALTER DATABASE AdventureWorksDW ADD FILEGROUP [Filegroup_2001]
GO
ALTER DATABASE AdventureWorksDW ADD FILEGROUP [Filegroup_2002]
GO
ALTER DATABASE AdventureWorksDW ADD FILEGROUP [Filegroup_2003]
GO
ALTER DATABASE AdventureWorksDW ADD FILEGROUP [Filegroup_2004]
GO
これらのファイルで:
ALTER DATABASE AdventureWorksDW
ADD FILE
(NAME = N'data_2001',
FILENAME = N'C:\FileGroupFile\data_2001.ndf',
SIZE = 5000MB,
MAXSIZE = 10000MB,
FILEGROWTH = 500MB)
TO FILEGROUP [Filegroup_2001]
GO
ALTER DATABASE AdventureWorksDW
ADD FILE
(NAME = N'data_2002',
FILENAME = N'C:\FileGroupFile\data_2002.ndf',
SIZE = 5000MB,
MAXSIZE = 10000MB,
FILEGROWTH = 500MB)
TO FILEGROUP [Filegroup_2002]
GO
ALTER DATABASE AdventureWorksDW
ADD FILE
(NAME = N'data_2003',
FILENAME = N'C:\FileGroupFile\data_2003.ndf',
SIZE = 5000MB,
MAXSIZE = 10000MB,
FILEGROWTH = 500MB)
TO FILEGROUP [Filegroup_2003]
GO
ALTER DATABASE AdventureWorksDW
ADD FILE
(NAME = N'data_2004',
FILENAME = N'C:\FileGroupFile\data_2004.ndf',
SIZE = 5000MB,
MAXSIZE = 10000MB,
FILEGROWTH = 500MB)
TO FILEGROUP [Filegroup_2004]
GO
これらのパーティション関数とスキーマを使用すると、次のようになります。
CREATE PARTITION FUNCTION FullOrderDateKeyRangePFN(int) AS
RANGE LEFT FOR VALUES
( 1,2,3,4 )
CREATE PARTITION SCHEME FullOrderDateRangePScheme AS
PARTITION FullOrderDateKeyRangePFN TO
([Filegroup_2001],
[Filegroup_2002],
[Filegroup_2003],
[Filegroup_2004],
[PRIMARY] )
そして最後に、テーブルを作成しました:
CREATE TABLE [DBO].[FACTINTERNETSALES_PARTITIONED] (
[CUSTOMERPONUMBER] [NVARCHAR](25) NULL,
[asl] [int] NULL)
ON FullOrderDateRangePScheme (asl)
asl=1 の 1000000 レコードをテーブルに挿入しましたが、このクエリを実行すると:
SELECT $PARTITION.FullOrderDateKeyRangePFN(4) AS PARTITIONID,
COUNT(*) AS ROW_COUNT
FROM DBO.FACTINTERNETSALES_PARTITIONED
すべてのパーティションに対して1000000レコードを返します。つまり、1は1000000を返し、2は1000000を返します...なぜですか?