Sql server SQL Server 2012-表分区-可空列

Sql server SQL Server 2012-表分区-可空列,sql-server,tsql,sql-server-2012,Sql Server,Tsql,Sql Server 2012,我有一个表,我打算用一个可为空的列进行分区 除了主键之外,这似乎工作得很好。我得到一个错误: 唯一索引的分区列必须是索引键的子集 在不同的文件组上创建主键。这不起作用,因为它删除了分区 一起跳过主键并创建聚集索引(非唯一)。这不起作用,因为我需要一个主键 知道如何在分区列可为空的分区表上获取主键吗?如果没有,我愿意接受关于如何以另一种方式处理的建议 提前谢谢。我不知道到底是什么阻碍了你。您可以在您的唯一列上创建PK,并使您的分区列具有nullable。只是不要只在PK列上创建唯一的集群索引。当您

我有一个表,我打算用一个可为空的列进行分区

除了主键之外,这似乎工作得很好。我得到一个错误:

唯一索引的分区列必须是索引键的子集

  • 在不同的文件组上创建主键。这不起作用,因为它删除了分区

  • 一起跳过主键并创建聚集索引(非唯一)。这不起作用,因为我需要一个主键

  • 知道如何在分区列可为空的分区表上获取主键吗?如果没有,我愿意接受关于如何以另一种方式处理的建议


    提前谢谢。

    我不知道到底是什么阻碍了你。您可以在您的唯一列上创建PK,并使您的分区列具有nullable。只是不要只在PK列上创建唯一的集群索引。当您需要创建唯一的集群索引时,将PK列和partition列添加在一起

    小心你的可空分区列,取决于如何定义范围,所有的空值都可以转到你最左边的分区,然后当你做滑动窗口时,你的第一个分区不再是空的,合并非空分区可能需要很长时间,这是你没有预料到的。