Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server表分区_Sql Server_Partitioning - Fatal编程技术网

Sql server SQL Server表分区

Sql server SQL Server表分区,sql-server,partitioning,Sql Server,Partitioning,我有一个包含以下列的表 ID (INT Primary Key) RecordDate (DateTime non-unique) Name (varchar) 我已根据字段RecordDate(每月)将表划分为不同的文件组 现在,我如何才能在不使用RecordDate组合字段的情况下将主键ID添加到此分区方案中?简单的回答是,如果您不想将分区列作为复合列包含在主键中,则主键不能进行群集。因此,在RecordDate的分区方案上创建聚集索引。然后,在创建主键约束时,将其设置为非聚集 请注意t,

我有一个包含以下列的表

ID (INT Primary Key)
RecordDate (DateTime non-unique)
Name (varchar)
我已根据字段
RecordDate
(每月)将表划分为不同的文件组


现在,我如何才能在不使用RecordDate组合字段的情况下将主键ID添加到此分区方案中?

简单的回答是,如果您不想将分区列作为复合列包含在主键中,则主键不能进行群集。因此,在RecordDate的分区方案上创建聚集索引。然后,在创建主键约束时,将其设置为非聚集


请注意t,一般不建议使用

您的需求是什么?您需要一个分区表,但需要一个不包含分区方案字段的逻辑键?我尝试将ID创建为非集群的可能重复项<代码>在PartitionTablePrSc(RecordDate)上选中ADD CONSTRAINT PK_Container主键非聚集(ID)以更改表dbo.PartitionTable;转到,我发现一个错误,
列“RecordDate”是索引“PK_Container”的分区列。唯一索引的分区列必须是索引键的子集。
我可以在主分区上创建非聚集主键。这会减慢我的插入速度。