引自邹建<<中文版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')
二分注释法