ALTER PARTITION FUNCTION包括1.5TB的快速切换数据

时间:2011-11-22 07:02:29

标签: sql sql-server switch-statement partitioning

我固有一个非维护数据库,其中分区功能在日期字段中设置,并在一年的第一天到期。数据主要是历史性的,我可以控制将新数据导入此表的作业。

我的问题是关于设置或更改分区以包含如此多的数据,大约1.5TB计数索引。这是在一个实时系统上,我不知道它会立即与那么多连接到它的用户产生什么样的影响。我将在非prod系统上测试这个,但是那时我无法获得真正的使用负载。我的另一种解决方案是杀死所有访问数据库的用户并快速重命名该表,并重命名一个具有适当分区方案的表。

我想:

- 保持相同的分区功能,但将其扩展为: 将所有2011年数据保存到特定日期(让我们说2011年11月22日)在1个分区上,之后所有数据都需要放入他们自己的新分区

- 快速切换具有完整年份数据的特定分区

任何人都知道如果改变实时系统上的分区以包含一个新分区的全年数据,大约有5-6亿条记录和1.5tb,这是否合情合理?任何陷阱?一旦完成它我会分享我的测试结果但是想要任何输入。谢谢!

1 个答案:

答案 0 :(得分:3)

分区切换是仅元数据操作,切换或切换的分区大小无关紧要,可以是1Kb或1TB,它需要完全相同的时间(即非常快)。

但是,您所描述的不是分区切换操作,而是分区拆分:您希望将表的最后一个分区拆分为两个分区,一个包含所有现有数据,另一个包含空数据。拆分分区必须拆分数据,不幸的是这是一个离线数据操作。