将无分区表转换为已分区表(Convert a nonpartitioned table to a partitioned table)
前些天我曾举例说了一下如何给SQL Server 2005数据库进行分区,现在介绍一下如何将现有库的无分区表转换为已分区表。在SQL Server中,我们可以通过以下两种方式将无分区表转换为已分区表:
一种方式是通过使用 CREATE INDEX 语句对表创建已分区聚集索引。此操作类似于对任一表创建聚集索引,因为 SQL Server 实质上将删除表并以聚集索引格式重新创建该表。如果已经对表应用了某个已分区聚集索引,则可以使用带有 DROP EXISTING = ON 子句的 CREATE INDEX 删除该索引并以某种分区方案重新生成该索引。
例如:如果前文中我们建表时没有指定表PT_Date分区,我们现在可以通过下面的SQL将其转移到Month_Scheme方案中
CREATE CLUSTERED INDEX INDEX_NAME ON PT_Date([Month]) WITH (DROP_EXISTING=ON)
ON [Month_Scheme]([Month])
第二种方法限制多多,而且也不利于已有数据平滑过渡,这里就不把sql语句写出来了。
0 comments:
Post a Comment