SQL Server分区键列必须是主键一部分。
必须把分区列包含在主键/唯一约束/唯一索引的键列中。
USE tempdb GO -- 测试表 CREATE TABLE dbo.tb( id int, CONSTRAINT PK_id PRIMARY KEY CLUSTERED( id) ) INSERT dbo.tb SELECT 1 UNION ALL SELECT 10 GO -- 切换为分区表 -- 分区函数 CREATE PARTITION FUNCTION PF_test(int) AS RANGE LEFT FOR VALUES(5) -- 分区架构 CREATE PARTITION SCHEME PS_test AS PARTITION PF_test ALL TO( [PRIMARY]) -- 切换到分区表 ALTER TABLE dbo.tb DROP CONSTRAINT PK_id WITH( MOVE TO PS_test(id))