Sql-Server

如何對現有的非分區表進行分區

  • March 19, 2021

我有一個包含數據的現有表:

dbo.Test (col1,col2,col3....) ON [PRIMARY]

我需要將此表更改為這樣分區:

dbo.Test(col1,col2,col3....) ON Ps_Date(Col2)

我怎樣才能在不刪除和重新創建表格的情況下實現這一目標?

要對錶進行分區,您可以按照以下簡要步驟操作:

  • 首先創建分區函式分區方案
  • 之後,您可以對錶進行分區。
  • 如果您的表有聚集索引,那麼您需要在正確的分區上刪除並重新創建它,或者您可以使用DROP_EXISTING子句重新創建聚集索引。
  • 如果您的表沒有聚集索引,那麼您可以使用分區方案在正確的分區上創建一個。
  • 企業版還可以靈活地使用ONLINE=ONCREATE INDEX 語句的選項來最大限度地減少應用程序的停機時間。請注意,在使用 ONLINE 選項重建索引時,您將看到性能下降。

要自動分區,您可以使用SQL Server 分區管理實用程序或codeplex 上提供的SQL Server 分區錶框架。

一些好的資源:

引用自:https://dba.stackexchange.com/questions/48011