Buffer Pool Extension
SSD
參考文件:
1. https://blogs.technet.microsoft.com/dataplatforminsider/2014/09/25/using-ssds-in-azure-vms-to-store-sql-server-tempdb-and-buffer-pool-extensions/
2. https://msdn.microsoft.com/en-us/library/dn133176(v=sql.120).aspx
重點:
1. 為了彌補主機記憶體不夠應付大量交易,利用SSD快速I/O的特性當RAM與實體磁碟中的第二道Cache
2. BPE檔案一般是設實體記憶體的4~6倍,視SSD大小而定
3. 若這次設32G,下次設定只能比前一次大,不然會有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.
要重啟SQL Service才能清除紀錄。
4. 語法:
SET ON:
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'B:\SQLTEMP\ExtensionFile.BPE', SIZE = 80 GB);
GO
SET OFF:
ALTER SERVER CONFIGURATION
SET BUFFER POOL Extension OFF
5. 就算SSD卸載,也只是無法Create BPE檔案,不影響SQL SERVICE啟動
PS. 若原先就把TempDM 放在SSD,若SSD掛點,SQL Service會因無法讀取TempDB檔案而無法啟動
解決方法:使用Command Line與SQL Command
資料:http://www.xtivia.com/start-sql-server-lost-tempdb-data-files/