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))
复制代码

 

posted @   zping  阅读(1118)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2008-06-01 sql server性能分析--检测数据库阻塞语句
点击右上角即可分享
微信分享提示