close

 

考量既有主機Buffer pool不夠大的狀況,記憶體無法應付大量交易。可能因為i/o而降低效能,因此SQL 2014新增了Buffer Pool Extension技術。*.bpe檔案主要是建立在SSD硬碟上,利用SSD快速讀寫的技術,使其成為記憶體與實體硬碟中的第二個快取暫存區。

參考:https://docs.microsoft.com/zh-tw/sql/database-engine/configure-windows/buffer-pool-extension?view=sql-server-2017

緩衝池擴展功能的優點。

>增加隨機 I/O 輸送量 (Increased random I/O throughput)

>減少I / O延遲 (Reduced I/O latency)

>增加交易輸送量

>透過更大的混合式緩衝集區來提升讀取效能

>一種緩存架構,可以充分利用現有和將來的低成本記憶體磁碟的快取架構本

image

image

 

設定的容量不可以比目前使用的佔存區小,只能比目前所使用的大。

不然會有ERROR

    Msg 868, Level 16, State 1, Line 1

    Buffer pool extension size must be larger than the current memory allocation threshold 3426 MB. Buffer pool extension is not enabled.

緩衝池擴展大小最多可達企業版max_server_memory值的32倍,標準版最多可達4倍。微軟建議物理內存大小(max_server_memory)與緩衝池擴展大小1:16或更小之間的比率。較低的比例在1:4至1:8的範圍內可能是最佳的。

 

利用系統檢檢視表查詢buffer pool extension 明細
 image

image

 

 

image

image

 

停用buffer pool extension

image

 

一旦啟用緩衝池擴展,請避免對文件進行配置更改或關閉該功能。這些活動可能會對服務器性能產生負面影響。禁用時,在重新啟動SQL Server實例之前,不會回收用於支持該功能的內存。直到重啟SQL Service才能清除紀錄。image

 

備註

BPE檔案一般是設實體記憶體的4~6倍,視SSD大小而定

當SSD卸載,或SSD損毀。不影響SQL SERVICE啟動

若原先就把TempDM 放在SSD,若SSD掛點,SQL Service會因無法讀取TempDB檔案而無法啟動

解決方法:使用Command Line與SQL Command

資料:http://www.xtivia.com/start-sql-server-lost-tempdb-data-files/

arrow
arrow
    全站熱搜

    小草 發表在 痞客邦 留言(0) 人氣()