SQL Server分区键列必须是主键一部分

 

   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))

 

你可能感兴趣的:(SQL Server)