引自鄒建<<中文版SQLServer2000開發與管理應用實例>>
tempdb數據庫
關于文件組,另一個有必要涉及到的就是系統數據庫tempdb,tempdb數據庫保存所有的臨時表和臨時存儲過程.它還滿足任何其他的臨時存儲要求.例如,存儲SQLServer生成的工作表.tempdb數據庫是全局資源,所有連接到系統的用戶的臨時表和存儲過程都存儲在該數據庫中.tempdb數據庫在SQLServer每次啟動時,都根據系統數據庫model的結構重新創建.
在使用數據庫的過程中,或多或少地都會用到臨時表和臨時存儲過程.因此,tempdb數據庫的性能對數據庫的影響是全局的,它的性能可能會決定整個SQLServer實例的處理效率.鑒于此,對tempdb數據庫的性能調優也顯得非常重要.
默認情況下,在SQLServer運行時tempdb數據庫會根據需要自動增長.不過,與其他數據庫不同,每次啟動數據庫引擎時,它會重置為其初始大小.如果為tempdb數據庫定義的大小較小,則每次重新啟動SQLServer時,將tempdb數據庫的大小自動增加到支持工作負荷所需的大小這一工作就可能會成為系統處理負荷的一部分.為避免這種開銷,可以使用ALTER DATABASE語句增加tempdb數據庫的大小.下面的代碼將tempdb數據庫的主數據文件大小設置為100MB.
ALTER DATABASE tempdb
MODIFY FILE(
name=tempdev,
size=100MB)
除了避免啟動SQLServer時tempdb數據庫自動增加的工作負荷外,把tempdb數據庫的數據文件分散到多個高性能的磁盤上,并有避免和用戶數據庫的數據文件放在同一磁盤,也可以獲得更好的性能.
下面的代碼可以將tempdb數據庫的主數據文件移動到指定的磁盤分區上,并且為其添加一個數據文件.
--移動主數據文件
ALTER DATABASE tempdb MODIFY FILE
(NAME='tempdev',
FILENAME='d:\tempdb.mdf')
--添加次要數據文件
ALTER DATABASE tempdb ADD FILE
(NAME='tempdata_1',
FILENAME='d:\tempdb_data_1.ndf')
二分注釋法