溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server怎么添加一個分區(qū)

發(fā)布時間:2021-08-21 03:24:50 來源:億速云 閱讀:473 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“SQL Server怎么添加一個分區(qū)”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

--添加分區(qū)函數(shù)  

CREATE PARTITION FUNCTION partfunSale (datetime)    

AS RANGE RIGHT FOR VALUES ('20100101','20110101','20120101','20130101')    

--添加分區(qū)方案  

CREATE PARTITION SCHEME partschSale    

AS PARTITION partfunSale    

TO (  Sale2009,  Sale2010,  Sale2011,  Sale2012,  Sale2013)    

    從以上代碼中可以看出,分區(qū)函數(shù)定義了用于分區(qū)的數(shù)據(jù)邊界,而分區(qū)函數(shù)指定了符合分區(qū)邊界的數(shù)據(jù)存放在文件組。因此,分區(qū)方案中指定的文件組個數(shù)應該是比分區(qū)函數(shù)中指定的邊界數(shù)大1的。如上例中,分區(qū)函數(shù)中指定的邊界數(shù)為4,那么在分區(qū)方案中指定的文件組數(shù)就為5。

    如果,我們將分區(qū)函數(shù)中的邊界數(shù)增加一個,那么分區(qū)方案中的文件組數(shù)也就要相應地增加一個。因此,我們不能簡簡單單地通過修改分區(qū)函數(shù)的方式來為分區(qū)表添加一個分區(qū)。

    那么,我們應該怎么做呢?是不是要先為分區(qū)方案添加一個文件組?

    這種想法是沒有錯的,想要為分區(qū)表添加一個分區(qū),可以通過以下兩個步驟來實現(xiàn):

    1、為分區(qū)方案指定一個可以使用的文件組。

    2、修改分區(qū)函數(shù)。

    在為分區(qū)方案指定一個可用的文件組時,該分區(qū)方案并沒有立刻使用這個文件組,只是將文件組先備用著,等修改了分區(qū)函數(shù)之后分區(qū)方案才會使用這個文件組(不要忘記了,如果分區(qū)函數(shù)沒有變,分區(qū)方案中的文件組個數(shù)就不能變)。

    為分區(qū)方案指定一個可用的文件組的代碼如下所示:

ALTER PARTITION SCHEME partschSale  

 NEXT USED [Sale2010]  

    其中:

    1、ALTER PARTITION SCHEME意思是修改分區(qū)方案

    2、partschSale是分區(qū)方案名

    3、NEXT USED意思是下一個可使用的文件組

    4、[Sale2010]是文件組名

    為分區(qū)方案添加了下一個可使用的文件組之后,分區(qū)方案并沒有立刻使用這個文件組,此時我們可以通過查看分區(qū)方案的源代碼來證實。查看方法是:在SQL Server Management Studio中,選擇數(shù)據(jù)庫-->存儲-->分區(qū)方案,右擊分區(qū)方案名,在彈出的菜單中選擇“編寫分區(qū)方案腳本為”-->CREATE到-->新查詢編輯器窗口,如下圖所示:

SQL Server怎么添加一個分區(qū)

    為分區(qū)方案添加了下一個可使用的文件組之后,我們就可以動手修改分區(qū)函數(shù)了,使用代碼如下所示:

ALTER PARTITION FUNCTION partfunSale()  

    SPLIT RANGE ('20100101')  

    其中:

    1、ALTER PARTITION FUNCTION意思是修改分區(qū)函數(shù)

    2、partfunSale()為分區(qū)函數(shù)名

    3、SPLIT RANGE 意思是分割界限

    4、'20100101' 是用于分割的界限值

    當然,我們在修改分區(qū)函數(shù)前后都可以統(tǒng)計一下各物理分區(qū)的數(shù)據(jù)記錄情況,如以下代碼所示:

--統(tǒng)計所有分區(qū)表中的記錄總數(shù)      

select $PARTITION.partfunSale(SaleTime) as 分區(qū)編號,count(id) as 記錄數(shù) from Sale group by $PARTITION.partfunSale(SaleTime)  

--原來的分區(qū)函數(shù)是將2010-1-1之前的數(shù)據(jù)放在第1個分區(qū)表中,將2010-1-1至2011-1-1之間的數(shù)據(jù)放在第2個分區(qū)表中  

--現(xiàn)在需要將2011-1-1之前的數(shù)據(jù)都放在第1個分區(qū)表中,也就是將第1個分區(qū)表和第2個分區(qū)表中的數(shù)據(jù)合并  

--修改分區(qū)函數(shù)  

ALTER PARTITION FUNCTION partfunSale()  

    SPLIT RANGE ('20100101')  

--統(tǒng)計所有分區(qū)表中的記錄總數(shù)      

select $PARTITION.partfunSale(SaleTime) as 分區(qū)編號,count(id) as 記錄數(shù) from Sale group by $PARTITION.partfunSale(SaleTime)  

    以上代碼的運行結果如下圖所示:

SQL Server怎么添加一個分區(qū)

    從上圖中可以看出,分區(qū)表中已經(jīng)添加了一個分區(qū),我們也可以再一次查看分區(qū)方案的源代碼,如下圖所示,這個時候分區(qū)方案也自動添加了一個文件組。

SQL Server怎么添加一個分區(qū)

“SQL Server怎么添加一個分區(qū)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI