2012-10-22 22 views
0

我有一個小問題:(我有一個數據庫,達到一個partition_schema 1000個分區,在互聯網上看看我發現它是頂部,但它可以增加到15000.我不能增加到15000,我可以做的解決方案是合併一些分區。處理分區,當你不知道受影響的表

我有一個分區,自20100101以來,實際上有999,它不能再增加了,所以我想合併分區從一個月,但在此之前,我想做一個將受到影響的信息的備份,但我不知道哪些表受到具有999範圍的功能的影響。

問:我怎樣才能找到最好的布萊爾是受這個函數影響的?或者哪個是確保合併分區的最佳方式,我不會丟失數據?

回答

2

您不應該丟失數據合併分區。以防萬一,儘量創建一個備份。

這裏有一個查詢,可以給你一些洞察表可以使用分區功能:

DECLARE @PartitionFunction sysname = 'YourPartitionFunctionName'; 

SELECT t.name TableName 
    , pf.name PartitionFunction 
    , ps.name PartitionScheme 
    , pst.partition_number 
    , pst.used_page_count 
    , row_count 
from sys.dm_db_partition_stats pst 
JOIN sys.partitions p ON pst.partition_id = p.partition_id 
JOIN sys.tables t 
     ON p.object_id = t.object_id 
JOIN sys.indexes i 
     ON p.object_id = i.object_id 
     AND p.index_id = i.index_id 
JOIN sys.allocation_units au 
     ON p.hobt_id = au.container_id 
JOIN sys.filegroups f 
     ON au.data_space_id = f.data_space_id 
JOIN sys.partition_schemes ps 
     ON ps.data_space_id = i.data_space_id 
JOIN sys.partition_functions pf 
     ON ps.function_id = pf.function_id 
WHERE used_page_count > 0 
    AND pf.name = @PartitionFunction 
    AND pst.index_id IN (0,1)/*Remove Nonclustered index counts*/; 

您也可以參考我的答案here的,我經常使用的監控分區卷的表值函數。

相關問題