----------------- --- PARTITION --- ----------------- USE Master; --- Step 1 : Create New Test Database with two different filegroups. IF EXISTS (SELECT name FROM sys.databases WHERE name = N'TestDB') DROP DATABASE TestDB; CREATE DATABASE TestDB; USE TestDB; --- Step 2 : Create Partition Range Function CREATE PARTITION FUNCTION TestDB_PartitionRange (INT) AS RANGE LEFT FOR VALUES (10, 100, 1000); --- Step 3 : Attach Partition Scheme to FileGroups CREATE PARTITION SCHEME TestDB_PartitionScheme AS PARTITION TestDB_PartitionRange ALL TO ([PRIMARY]); --- Step 4 : Create Table with Partition Key and Partition Scheme CREATE TABLE TestTable (ID INT NOT NULL, Date DATETIME) ON TestDB_PartitionScheme (ID); --- Step 5 : (Optional/Recommended) Create Index on Partitioned Table CREATE UNIQUE CLUSTERED INDEX IX_TestTable ON TestTable(ID) --- Step 6 : Insert Data in Partitioned Table INSERT INTO TestTable (ID, Date) -- Inserted in Partition 1 VALUES (1,GETDATE()); INSERT INTO TestTable (ID, Date) -- Inserted in Partition 2 VALUES (110,GETDATE()); INSERT INTO TestTable (ID, Date) -- Inserted in Partition 2 VALUES (1200,GETDATE()); INSERT INTO TestTable (ID, Date) -- Inserted in Partition 2 VALUES (900,GETDATE()); --- Step 7 : Test Data from TestTable SELECT * FROM TestTable; --- Step 8 : Verify Rows Inserted in Partitions SELECT * FROM sys.partitions WHERE OBJECT_NAME(OBJECT_ID)='TestTable'; select * from TestTable where ID = 999;