翻譯|使用教程|編輯:莫成敏|2019-12-31 13:53:14.673|閱讀 318 次
概述:SQL Monitor不僅自動收集您需要的所有磁盤和數(shù)據(jù)庫增長跟蹤數(shù)據(jù),而且還分析這些數(shù)據(jù)的趨勢以準(zhǔn)確預(yù)測何時磁盤卷會耗盡可用空間,或數(shù)據(jù)庫文件何時需要增長。本文為第二部分內(nèi)容——監(jiān)視數(shù)據(jù)庫文件中的可用空間。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SQL Monitor是一個SQL Server監(jiān)控工具。它可以監(jiān)控SQL Servers的健康狀況和活動,并通過電子郵件為您發(fā)送監(jiān)測結(jié)果和建議。
SQL Monitor不僅自動收集您需要的所有磁盤和數(shù)據(jù)庫增長跟蹤數(shù)據(jù),而且還分析這些數(shù)據(jù)的趨勢以準(zhǔn)確預(yù)測何時磁盤卷會耗盡可用空間,或數(shù)據(jù)庫文件何時需要增長。本教程內(nèi)容較多,分為三個部分發(fā)布,這篇文章是第二部分——監(jiān)視數(shù)據(jù)庫文件中的可用空間。
當(dāng)我們添加新數(shù)據(jù)時,數(shù)據(jù)文件中的空間將分配給存儲該數(shù)據(jù)的表和索引。當(dāng)數(shù)據(jù)文件已滿時,它將需要增長。如果我們監(jiān)視數(shù)據(jù)文件中空間的使用率以及剩余的可用空間,我們可以預(yù)測文件何時需要增長,并可以做出相應(yīng)的計(jì)劃,而不必依賴不可預(yù)測且昂貴的文件自動增長事件(稍后會有更多介紹)。
我們還可以監(jiān)視事務(wù)日志文件中的可用空間,盡管這更為復(fù)雜,因?yàn)槿罩镜男袨楦袷黔h(huán)形緩沖區(qū)。一旦填滿,它將繞行并開始覆蓋先前提交的事務(wù)的日志記錄,除非有不能這樣做的原因,在這種情況下日志需要增長。
隨著時間的推移,通過跟蹤數(shù)據(jù)庫文件中的空間使用情況,我們將更好地了解每個數(shù)據(jù)庫的增長特征,并能夠更準(zhǔn)確地調(diào)整文件大小,以適應(yīng)將來的數(shù)據(jù)增長。
臨時跟蹤數(shù)據(jù)庫文件中的空間使用情況
為了臨時檢查數(shù)據(jù)庫如何使用磁盤空間,我們可以使用內(nèi)置的SSMS報(bào)告。只需右鍵單擊任何數(shù)據(jù)庫,然后選擇Reports | 標(biāo)準(zhǔn)報(bào)告。“磁盤使用情況”報(bào)告提供了為數(shù)據(jù)庫保留的總空間的詳細(xì)信息,并分別提供了數(shù)據(jù)和日志文件,然后提供了餅圖,顯示了文件中當(dāng)前的空間使用情況。它還顯示任何最近的文件自動增長事件。“按表排列的磁盤使用情況”報(bào)告將向您顯示哪些表分配了最多的空間,因此也占用了最多的磁盤空間。
對于腳本檢查,您可以查詢sys.database_files視圖以獲取數(shù)據(jù)庫的總大小(稍后介紹),以及有關(guān)每個數(shù)據(jù)庫的單個數(shù)據(jù)和日志文件的大小,以及每個數(shù)據(jù)庫中使用的空間的詳細(xì)信息。您還可以使用sys.dm_db_file_space_usageDMV 細(xì)化當(dāng)前分配給數(shù)據(jù)庫對象的數(shù)據(jù)文件中的空間量(也用于SQL Monitor中數(shù)據(jù)庫對象自定義度量標(biāo)準(zhǔn)使用的空間)。
如果數(shù)據(jù)庫增長異常迅速,您需要知道數(shù)據(jù)庫中分配給該對象(表和索引)的空間。您可以使用該sys.allocation_units視圖查看數(shù)據(jù)庫中所有對象的空間分配明細(xì)。或者,您可以使用sp_spaceused系統(tǒng)存儲過程,并提供要調(diào)查的表的名稱。
使用SQL Monitor監(jiān)視數(shù)據(jù)文件中的空間使用
在任何受監(jiān)視的SQL Server實(shí)例的SQL Monitor的“概述”頁上的“數(shù)據(jù)庫”部分中,我們可以看到實(shí)例上每個數(shù)據(jù)庫的數(shù)據(jù)和日志文件的當(dāng)前物理大小,以及直到文件滿為止的預(yù)計(jì)時間,并且需要自動增長,或者磁盤本身已滿。為了避免被“突然變滿”的數(shù)據(jù)庫文件嚇到,我們可以在SQL Monitor中通過內(nèi)置的數(shù)據(jù)庫文件使用率指標(biāo)來跟蹤數(shù)據(jù)文件的使用。
這個指標(biāo)背后的想法是在數(shù)據(jù)庫文件需要增長時提前警告您。而不是簡單地等待它自動增長,這可能是非常破壞性的,取決于自動增長發(fā)生的時間,您有時間來研究增長的趨勢,任何異常增長的原因,并根據(jù)需要計(jì)劃維護(hù)時間來增長文件。
當(dāng)前,日志文件禁用此警報(bào),因?yàn)榛跉v史增長無法預(yù)測日志文件的使用模式(在下一節(jié)中將對此進(jìn)行更多介紹)。master model,msdb和tempdb數(shù)據(jù)庫也禁用該功能。對于數(shù)據(jù)庫的數(shù)據(jù)文件,您可以選擇在三個不同閾值被突破時發(fā)出警報(bào):
因此,例如,您可以選擇在文件已滿的時間少于2周,或達(dá)到90%或少于500 MB的可用時間時接收警報(bào)。
您還可以配置此警報(bào),以便在使用的空間增加時自動升級。例如,您可以在所使用的空間是70%時指定低警報(bào),然后在空間上升到85%時將其升級為中等警報(bào),在空間超過95%時將其升級為高警報(bào)。在警報(bào)內(nèi),您將看到一個顯示文件使用歷史的圖表。
這條淡藍(lán)色的線和帶陰影的藍(lán)色區(qū)域顯示了實(shí)際的文件大小,您可以看到文件增長的“跳轉(zhuǎn)”。黑線表示文件內(nèi)空間分配的增長,橙色虛線表示預(yù)計(jì)的文件使用情況
橙色和淺藍(lán)色線相交的位置指示文件何時已滿,因此將觸發(fā)下一個文件自動增長事件(假設(shè)磁盤未滿)。如果那段時間給您的業(yè)務(wù)帶來不便,那么您可以計(jì)劃一個時間來手動增加文件大小。
通過檢查警報(bào)歷史記錄,警報(bào)的頻率和時間,您可以評估數(shù)據(jù)文件的增長方式以及如何進(jìn)行優(yōu)化。與所有SQL Monitor警報(bào)一樣,在激發(fā)警報(bào)時,您還會為主機(jī)提供許多其他有用的性能統(tǒng)計(jì)信息,例如處理器時間、平均磁盤隊(duì)列長度、內(nèi)存使用率、傳輸速度等。
如果數(shù)據(jù)文件中的空間使用異常迅速,則需要進(jìn)行調(diào)查。如果您知道數(shù)據(jù)庫中的某些表是數(shù)據(jù)增長的溫床,那么您可以使用SQL Monitor(查詢sp_spaceused)中的表大小(MB)自定義指標(biāo)來跟蹤它們隨時間的增長。
使用SQL Monitor監(jiān)視日志文件中的空間使用
跟蹤日志文件中的空間使用情況(以預(yù)測何時需要自動增長)更加復(fù)雜。當(dāng)我們修改數(shù)據(jù)(插入、刪除或更新)或任何數(shù)據(jù)庫對象時,SQL Server將描述每個更改的日志記錄寫入事務(wù)日志中。當(dāng)日志文件已滿時,SQL Server將通過覆蓋舊的日志記錄來重用日志中的空間,只要沒有阻止它的行為,例如長時間運(yùn)行的事務(wù)或缺少日志備份(對于使用FULL或BULK LOGGED恢復(fù)的數(shù)據(jù)庫)模型)。
假定沒有其他原因不能這樣做,SQL Server將定期截?cái)嗳?志,以便可以在日志備份之后或在某個CHECKPOINT過程(對于SIMPLE恢復(fù)模型數(shù)據(jù)庫)之后重用現(xiàn)有空間,等等。日志空間將以循環(huán)方式而不是線性方式重用。
但是,如果您知道給定數(shù)據(jù)庫修改的頻率以及日志備份的頻率,則您希望某個特定數(shù)據(jù)庫的日志文件得到多少填充,那么您可能希望使用SQL Monitor的已用日志空間自定義百分比來接收,如果警報(bào)超過特定閾值,則為警報(bào)。
本教程內(nèi)容尚未完結(jié),歡迎大家關(guān)注我們了解更多文章資訊~您也可以下載SQL Monitor試用版免費(fèi)測評~
相關(guān)內(nèi)容推薦:
使用SQL Monitor避免耗盡磁盤空間(上):監(jiān)視磁盤上的可用空間
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: