IF EXISTS( SELECT 1 FROM sys.databases AS d WHERE d.name = 'Test_1' ) DROP DATABASE Test_1 GO CREATE DATABASE [Test_1] ON PRIMARY( NAME = N'Test_1', FILENAME = N'E:\Database\Sharding\Test_1.mdf', SIZE = 10240KB, MAXSIZE = UNLIMITED, FILEGROWTH = 1024Kb ), FILEGROUP [Test_A]( NAME = N'Test_A', FILENAME = 'E:\Database\Sharding\Test_A.ndf', SIZE = 10240kb, MAXSIZE = UNLIMITED, FILEGROWTH = 1024kB ), FILEGROUP [Test_B]( NAME = N'Test_B', FILENAME = 'E:\Database\Sharding\Test_B.ndf', SIZE = 10240kb, MAXSIZE = UNLIMITED, FILEGROWTH = 1024kB ) LOG ON ( NAME = N'Test_log', FILENAME = 'E:\Database\Sharding\Test_Log.ldf', SIZE = 10240kb, MAXSIZE = UNLIMITED, FILEGROWTH = 1024kB ) COLLATE Chinese_PRC_CI_AS GO USE [Test_1] IF EXISTS( SELECT 1 FROM sys.partition_functions AS pf WHERE pf.name = 'TEST_PART' ) DROP PARTITION FUNCTION [TEST_PART] GO -- set a partiton condition CREATE PARTITION FUNCTION TEST_PART(INT) AS RANGE LEFT FOR VALUES(2) GO IF EXISTS( SELECT 1 FROM sys.partition_schemes AS ps WHERE ps.name = 'TEST_SCH' ) DROP PARTITION SCHEME [TEST_SCH] GO --set a scheme for table using. CREATE PARTITION SCHEME TEST_SCH AS PARTITION [TEST_PART] TO (Test_A, Test_B) GO IF OBJECT_ID('STUDENT', 'U') IS NOT NULL DROP TABLE STUDENT GO CREATE TABLE STUDENT ( Id INT IDENTITY(1, 1) NOT NULL, NAME VARCHAR(10) NULL, CLASS INT NULL, GRADE INT NULL ) ON TEST_SCH(Id) -- set scheme GO INSERT INTO STUDENT ( -- Id -- this column value is auto-generated NAME, CLASS, GRADE ) VALUES ( 'A', 1, 1 ); INSERT INTO STUDENT ( -- Id -- this column value is auto-generated NAME, CLASS, GRADE ) VALUES ( 'B', 2, 2 ); INSERT INTO STUDENT ( -- Id -- this column value is auto-generated NAME, CLASS, GRADE ) VALUES ( 'C', 3, 3 ); INSERT INTO STUDENT ( -- Id -- this column value is auto-generated NAME, CLASS, GRADE ) VALUES ( 'D', 4, 4 ) GO