本篇內(nèi)容介紹了“SQL Server怎么添加一個分區(qū)”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)從2013年開始,先為田陽等服務建站,田陽等地企業(yè),進行企業(yè)商務咨詢服務。為田陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
--添加分區(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到-->新查詢編輯器窗口,如下圖所示:
為分區(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)
以上代碼的運行結果如下圖所示:
從上圖中可以看出,分區(qū)表中已經(jīng)添加了一個分區(qū),我們也可以再一次查看分區(qū)方案的源代碼,如下圖所示,這個時候分區(qū)方案也自動添加了一個文件組。
“SQL Server怎么添加一個分區(qū)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!