一、实验:tempdb改大

1. tempdb 的默认大小

1.1 设置 model 数据库

  将 model 数据库的数据文件的“初始大小”设为 model_size=45MB。

1.2 重启SQL Server,检查tempdb

  重启SQL Server,tempdb被重建。检查当前tempdb的数据文件的初始大小 tempdb_size=45MB。

结论:SQL Server之后,tempdb_size = model_size 。

2、手动调整 tempdb

2.1 修改 tempdb

  将tempdb的数据文件的“初始大小”改为一个较大的数值 tempdb_large =1045MB。

2.2 重启 SQL Server,检查 tempdb

  结果与上图一样。

结论:如果手动调整tempdb,将数据文件的初始大小设为 tempdb_large=1045MB,每次重启SQL Server后,tempdb_size = tempdb_large=1045MB 。

场景:在实践中, 如果tempdb被手动设置了很大的“初始大小”,即使重启 SQL Server 后,“初始大小”也不会改变。

二、实验:tempdb改小

  手动调整 tempdb,将数据文件的初始大小修改为较小的值 tempdb_small=20MB。(tempdb_samll =20MB,小于 model_size=45MB)

  重启 SQL Server后,tempdb_size 确实减小了,但是并没有减少到tempdb_small。而是 tempdb_size = model_size=45MB 。

结论:如果手动将tempdb_size的值改为tempdb_samll=20MB,重启SQL Server之后,tempdb_size 取 model_size=45MB 和 tempdb_small=20M 两者的最大值。

 

 

三、实践:如何收缩tempdb

  重启SQL Server,然后立即将tempdb_size修改成一个较小的值。