删除分区 SQL Server 2008

Posted

技术标签:

【中文标题】删除分区 SQL Server 2008【英文标题】:Drop Partitions SQL Server 2008 【发布时间】:2018-03-16 14:45:52 【问题描述】:

我必须将 SQL Sever 2008 数据库迁移到 SQL Server 2012。2008 是企业版,2012 是标准版。众所周知,标准版不支持表分区。

在企业版中分区的表有 1 个聚集索引和大约 8 个非聚集索引。我需要删除此分区,但不知道如何删除。有人可以解释一下我应该怎么做吗?

谢谢。

【问题讨论】:

您的聚集索引是主键约束的后备索引吗?基本方法是相同的(重新创建没有分区方案的聚集索引),但使用的语法不同。 【参考方案1】:

要取消分区表,您需要使用文件组规范而不是分区方案重新创建所有索引。我建议您删除所有非聚集索引,然后使用带有文件组规范的CREATE INDEX...WITH(DROP_EXISTING-ON) 重建现有的分区聚集索引。然后使用指定的文件组重新创建非聚集索引。

【讨论】:

嗨,我已经按照你说的做了,我收到以下错误:无法重新创建索引 'PK_Partition'。新索引定义与现有索引强制执行的约束不匹配。感谢您的帮助。 @SamFenton,分区表必须包含分区列作为主键的一部分。确保未分区的主键具有相同的列列表。

以上是关于删除分区 SQL Server 2008的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 分区函数和分区表

sql server2008对字符串日期字段分区

SQL Server 2008 表分区的含义

高手请进:IBM服务器存在EFI分区,Windows server 2008 R2激活问题

深入浅出SQL Server 2008 分区函数和分区表

SQL Server 2008如何创建分区表,并压缩数据库空间