我有一個按月分區的SQL DW表。我們的數據庫管理員在幾個月前就開始工作了,所以我們的表格從那時起一直沒有分區。我們注意到只是因爲桌子放慢了速度。SQL DW - 使用拆分分區
當我們試圖通過使用分割功能,我們得到以下
錯誤添加分區「因爲分區不爲空ALTER PARTITION語句SPLIT子句失敗了。」
我們的最後一排有失敗後嘗試了以下
CREATE TABLE [data].[sessions_range]
WITH
(
CLUSTERED COLUMNSTORE INDEX,
DISTRIBUTION = HASH([sesh_id]),
PARTITION
(
-- SAMPLE RANGE
[session_start_dt] RANGE RIGHT FOR VALUES
(
'2016-12-01'
)
)
)
AS
SELECT *
FROM [data].[sessions]
WHERE 1=2
;
ALTER TABLE [data].[sessions] SWITCH PARTITION <guessed at a partition number>
TO [data].[sessions_range] PARTITION 2;
ALTER TABLE [data].[sessions] SPLIT RANGE ('2016-12-01');
它。雖然我們必須經過分區號,直到找到範圍內的相應分區,但Switch分區似乎沒問題。
任何人都可以幫助我們,爲什麼即使在切換後,分區仍然會說在分離過程中不是空的?
禁用Columnstore索引,執行SPLIT,然後重建Columnstore索引。當一個Columnstore存在於表上時,只有空的分區可以被分割。抱歉。 –
有關一些很好的信息,請參閱https://redphoenix.me/2014/08/18/how-to-split-non-empty-partitions-when-a-clustered-columnstore-index-exists-on-the-table/關於如何處理這個問題。 –
這不起作用。 – Thomas