我知道在分区之间切换要求分区都驻留在同一个文件组中.但是我无法找到任何合适的地方来知道这个概念背后的原因.
源表和目标表必须共享同一文件组. ALTER TABLE ... SWITCH语句的源表和目标表必须位于同一文件组中,并且它们的大值列必须存储在同一文件组中.任何相应的索引,索引分区或索引视图分区也必须位于同一文件组中.但是,文件组可以与相应表或其他相应索引的文件组不同. http://technet.microsoft.com/en-us/library/ms191160(v=sql.105).aspx
在我的一个分区实现中:
我将我的档案表保存在同一文件组中,执行SWITCH,然后删除并重新创建聚簇索引以将数据移动到不同的文件组.这让我付出了很多代价!
我希望将旧数据移动到不同的表,即存档于不同文件组(用于分析目的)的档案表(不同的驱动器).但是由于这种限制,我实现了如上所述
我理解所遵循的概念(数据没有实际移动).但为什么?期待诸如"由于sql-server pagesize限制或分页概念重叠等等"的答案.
请帮我找到或理解这个!
t-sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012