SQL Server默认有四个数据库系统,其中一个称为tempdb。 tempdb用于许多SQL操作,包括创建用户定义的临时对象,内部临时对象和版本存储,以及其他功能,如联机重新索引,多个活动记录集(MARS)等。 优化服务器的临时数据库是提高服务器性能的最佳方法之一。 继续阅读以了解有关如何在SQL Server中优化tempdb的一些要点。
需要注意的一个事实是每个人都在使用相同tempdb的实例共享; 您不能在SQL Server实例中拥有多个,但您可以获得有关使用DMV在tempdb中执行的操作的详细信息。
tempdb的功能和属性:
-
Tempdb始终设置为简单恢复模式,这意味着已提交事务的事务日志记录在每个检查点之后都标记为可重用。
-
Tempdb只能有一个文件组,不能添加更多。
-
Tempdb可以存储三种类型的对象:用户对象,内部对象和版本存储。
如何在SQL Server中优化Tempdb
注意tempdb似乎很明显。 但是怎么样? 我总结了一些规则:
1. 每次重新启动后都会重建tempdb,从而为tempdb提供足够大的初始大小。
2. 由于经常访问tempdb并将tempdb外包给另一个驱动器是加速访问的一个很好的措施。
用于移动tempdb文件的脚本。
ALTER DATABASE tempdb
修改文件(NAME = tempdev,FILENAME =,E:DATAtempdb.mdf');
走
ALTER DATABASE tempdb
修改文件(NAME = templog,FILENAME =,E:Datatemplog.ldf');
走
3. 始终为tempdb提供足够的容量。 让它自动增长。
4. 将恢复模式设置为“简单”。 并非所有内容都记录在事务日志中,这意味着当事务完成时它将从事务日志中删除。 因此,日志文件不会继续不必要地增长。
5. 可以优化创建附加数据文件以访问数据载体,因为可以避免这种存储冲突。 有一个pi *拇指规则:CPU数量等于文件数量。 这改善了对数据载体的访问。
6. 如果您使用多个指定相同文件大小的文件。 这有利于文件的比例填充。
7. 禁用自动更新以提高SQL数据库中临时数据的性能。
结论
必须更加关注tempdb,尤其是在SQL Server 2005下。无论是想要备份tempdb,删除tempdb,数据库镜像还是通过文件集进行优化,都无法帮助您优化SQL数据库。
我希望这提供了一些有用和快速的点来优化SQL Server中的tempdb。