一、实验: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修改成一个较小的值。