SQL Server分割槽鍵列必須是主鍵一部分

zping發表於2015-06-01

 

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

 

相關文章