SQL SERVER 移除分区函数和分区方案
移除分区函数和分区方案
如果尝试删除一个绑定到既有表或索引的分区函数或分区方案,就会得到一个错误消息。也不能直接移除一个绑定到表的分区方案或分区函数(除非删除整个表,本技巧将会这么做)。如果开始是以堆方式创建表(没有聚集索引的表),然后创建一个聚集索引绑定到一个分区方案,那么可以使用CREATE INDEX DROP_EXISTING选项(参阅第5章)来重新创建索引而不引用分区方案。
使用下面的语法删除一个分区方案:
- DROP PARTITION SCHEME partition_scheme_name
这个命令接受要删除的分区方案名作为参数。
使用下面的语法删除一个分区函数:
- DROP PARTITION FUNCTION partition_function_name
同样,这个命令只接受要删除的分区函数名作为参数。
这个示例演示了如何删除一个分区函数和分区方案,假设在这种情况下可以删除源表(在正式应用下通常不能这样做):
- DROP TABLE Sales.WebSiteHitsHistory
- DROP TABLE Sales.WebSiteHits
- -- 删除分区方案和分区函数
- DROP PARTITION SCHEME HitDateRangeScheme
- DROP PARTITION FUNCTION HitDateRange
解析
这个示例演示了删除一个分区方案和分区函数。对于本例,我们需要在这之前先删除源表。
另外一种解决方案就是把所有的结果复制到一个外部表,删除表,删除分区方案和分区函数,然后重新命名把数据复制过去的那张表。如果你的目标只是把表变成一个分区,其实可以合并所有分区,并且保留分区方案和分区函数。只有一个分区的表在功能上和一个普通的未分区表一样。
出处:http://www.cnblogs.com/liuyong/
作者喜欢研究 Sql Server ,ASP.NET MVC , Jquery WCF 等技术,同时关心分布式架构的设计应用。转载请保留原文链接,谢谢!