您當前位置: 主頁 > IT服務 > 網(wǎng)絡服務 >
數(shù)據(jù)庫維護是網(wǎng)絡管理員工作中非常重要的一部分。一個SQL Server數(shù)據(jù)庫就像一輛車:它需要經(jīng)常的檢查來保證運行沒有問題,副作用,且擁有最大可能的性能。SQL Server數(shù)據(jù)庫最重要的部分是它的索引及其對應的統(tǒng)計信息對象。SQL Server運行一段時間后會有索引碎片,統(tǒng)計信息必須更新,這樣的話查詢優(yōu)化器才可以為你生成“足夠好”的執(zhí)行計劃。
1.索引(聚集,非聚集)會產(chǎn)生碎片。索引意味著邏輯和物理排列順序不再一致。如果你在傳統(tǒng)旋轉(zhuǎn)存儲上存儲你的數(shù)據(jù)庫,索引碎片在你的存儲子系統(tǒng)里帶來隨機I/O,與快速的循序I/O相比,它非常耗時。微軟建議下列索引維護的最佳實踐:
碎片低于10%:不進行維護
碎片在10-30%:進行索引重組操作
碎片大于30%:進行索引重建操作
此外,索引重組和索引重建操作應該只有在葉子層的頁數(shù)至少有10000頁才可以。如果你沒有達到這個閾值,你不會看到隨機I/O帶來的副作用消失。索引重建(Index Rebuild)操作會完全重建你的索引。它是一個在事務日志里完全記錄的“大”事務。在99%進度的時候回滾你的重建操作是個非常不好的想法,因為SQL Server需要把已做過的(有益的一面)全部重做一遍。因為你的回滾會花費很長時間。因為索引重建會重新生成你的整個索引,你的統(tǒng)計信息也會用全掃描更新。(網(wǎng)絡維護外包)
另外,因為它是個大事務,如果這時你使用基于事務日志的HA技術(shù)就會有問題——例如數(shù)據(jù)庫鏡像或AlwaysOn可用組。SQL Server需要發(fā)送你的整個事務到鏡像(或復制的地方)。那就意味著你的網(wǎng)絡流量里有大量的事務日志記錄。這對你的HA策略會有很大的副作用。
作為一個替代方法,索引重組(Index Reorganize)操作只處理你的索引的葉子層,重組葉子層的邏輯排序。因此,索引重組不會為你更新統(tǒng)計信息。索引重組只包含多個小的系統(tǒng)事務。因此它不會在事務日志上帶來太大壓力,因為虛擬日志文件可以為了更快的重用而被標記。索引重組操作對使用數(shù)據(jù)庫鏡像或AlwaysOn可用組都是有益的,因為使用索引重組操作你沒有給網(wǎng)絡流量里倒入大量的事務。
如何進行維護操作?(it外包)
我經(jīng)常被問到的問題是在SQL Server里如何進行維護操作。這里推薦使用Ola Hallengren提供的SQL Server維護解決方案。這個解決方案包含一些列的存儲過程,使用它們你可以繼續(xù)寧數(shù)據(jù)庫一致性檢查,備份,還有索引維護操作。索引碎片等級就是你提供存儲過程的參數(shù)值。我們來看看下列IndexOptimize存儲過程的調(diào)用:
EXEC [master].[dbo].[IndexOptimize]
@Databases = 'AdventureWorks2012',
@FragmentationLow = 'INDEX_REBUILD_OFFLINE',
@FragmentationMedium = NULL,
@FragmentationHigh = NULL,
@FragmentationLevel1 = 10,
@FragmentationLevel2 = 30,
@PageCountLevel = 10000,
@SortInTempdb = 'N',
@MaxDOP = NULL,
@FillFactor = NULL,
@PadIndex = NULL,
@LOBCompaction = 'Y',
@UpdateStatistics = NULL,
@OnlyModifiedStatistics = 'N',
@StatisticsSample = NULL,
@StatisticsResample = 'N',
@PartitionLevel = 'N',
@TimeLimit = NULL,
@Indexes = NULL
@Delay = NULL,
@LogToTable = 'Y',
@Execute = 'Y'
GO
從代碼里你可以看到,你可以指定不同的碎片等級作為參數(shù)(FragmentationLevel1, FragmentationLevel2)。最后對于這些碎片等級你指定你想要進行的索引操作(FragmentationLow, FragmentationMedium, FragmentationHigh)。在SQL Server里它是非常簡單,卻是非常強大的進行索引維護操作的方法。(電腦維護外包)
艾銻無限是中國領(lǐng)先IT外包服務商,專業(yè)為企業(yè)提供IT運維外包、電腦維護、網(wǎng)絡維護、網(wǎng)絡布線、辦公設備維護、服務器維護、數(shù)據(jù)備份恢復、門禁監(jiān)控、網(wǎng)站建設等多項IT服務外包,服務熱線:400-650-7820 聯(lián)系電話:010-62684652 咨詢QQ1548853602 地址:北京市海淀區(qū)北京科技會展2號樓16D,用心服務每一天,為企業(yè)的發(fā)展提升更高的效率,創(chuàng)造更大的價值。
更多的IT外包信息盡在艾銻無限http://www.richjn.cn
相關(guān)文章