1. 程式人生 > >SQLSERVER2008R2建立分割槽表、轉換分割槽表、交換資料

SQLSERVER2008R2建立分割槽表、轉換分割槽表、交換資料

----將普通錶轉換為分割槽表  1. 在分割槽依據列上建立一個聚集索引,並在聚集索引上使用分割槽方案即可。 若該普通表有主鍵和聚集索引,且聚集索引不是分割槽列,就要把該主鍵刪除,重新建立該主鍵,但把該主鍵建立為非聚集索引,接著在分割槽列上建立聚集索引即可。 alter table 普通表名     --刪除主鍵 drop constraint 主鍵名 alter table 普通表名     --重新建立主鍵,但建立為非聚集索引 add constraint 主鍵名 primary key nonclustered ( 主鍵欄位 asc) on primary create clustered index 索引名    --在分割槽列上建立聚集索引把普通錶轉換為分割槽表,此處的索引列要和分割槽列是同一列。 on 普通表名(欄位名) on 分割槽方案名(分割槽列名) 若主鍵是分割槽所在列,那麼可以刪除主鍵重新在該列建立聚集索引並分割槽即可。
  • CREATE CLUSTERED INDEX CT_Sale1 ON Sale1([SaleTime])  
  •     WITH ( DROP_EXISTING = ON)      --如果該索引存在就刪除
  • ON 分割槽方案名(分割槽列名)
2.建立一個新的分割槽表,把舊錶中的資料匯入到新的分割槽表 -----將一個分割槽錶轉換為非分割槽表 可以通過使用刪除分割槽的方式將表中所有分割槽刪除,變成一個分割槽,從而轉換成非分割槽表,雖然該表依然是分割槽表,但和普通表沒有什麼區別。 ALTERPARTITIONFUNCTIONTESTFUNC() MERGERANGE('10') ALTERPARTITIONFUNCTIONTESTFUNC() MERGERANGE('20') 若是通過建立分割槽索引的方法將普通錶轉換成的分割槽表,除了刪除分割槽來轉換為普通表外,還可以通過刪除分割槽索引轉換為普通表。 1.刪除分割槽索引
2.在原來欄位算上重建一個索引
  • CREATE CLUSTERED INDEX CT_Sale1 ON Sale1([SaleTime])  
  •     WITH ( DROP_EXISTING = ON)      --如果該索引存在就刪除
  • ON [PRIMARY]