2011年10月10日 星期一

Day01TempDB特性與效能簡介

(1)          TempDB的簡介:是SQL SERVER的系統資料庫之一,用來儲存暫存的物件或資料。
(2)          一些TempDB重要的特性:
1.    重新啟動SQL SERVER時,系統會重新建立TempDB,所以TempDB不需要備份和還原。
2.    TempDB不能增加檔案群組。
3.    所有連線到SQL SERVER的使用者都可以使用TEMPDB
4.    TempDB的復原模式為簡單模式。
(3)          TempDB的儲存對象
物件
物件內容
備註
User objects
Local temporary tables and indexes
Global temporary tables and indexes
Table variables
User-defined tables and indexes
可以透過
sys.dm_db_session_space_usage查看Table  variables儲存所在,驗證Table  variables確實是存在於TempDB中的。
Internal objects
Sort results
Hash joins
XML variables
Work tables for cursors
Temporary large object (LOB) storage
可以透過
sys.dm_db_session_space_usage查看Internal objectsTempDB已配置和取消配置的頁數
Version store objects
Snapshot isolation
Triggers
Multiple active result sets (MARS)
Online index build
可以透過sys.dm_tran_version_store查看Version store objects的內容
(4)          TempDB對資料庫效能的關聯:因為許多暫存物件(Local temporary tables and indexes)都會使用到TempDB,所以TempDB設計的好壞會大大影響資料庫系統的效能,而要最佳化TempDB必須要朝下列幾點著手。
TempDB效能最佳化要點
說明
TempDB復原模式
確認tempdb復原模式設定為簡單模式(SIMPLE)
TempDB 檔案成長模式
設定為自動成長
TempDB檔案成長量
TempDB檔案成長增量設成合理的大小
TempDB檔案大小初始大小
如果TempDB檔案初始太小設大一點,減少檔案增大時所費的IO
TempDB檔案個數
視機器上的CPU數而定
TempDB每一個資料檔大小相同
可等比例寫入TempDB檔案
TempDB放在快速I/O的儲存體上
建議放在RAID 0的儲存體上
與使用者資料庫分開
避免TempDB影響到使用者資料庫
(5)          TempDB的監控:監控TempDB的成長量與IO,可以有效的預防因TempDB引起的效能低落的問題。

沒有留言:

張貼留言