在试图研究Server数据库的一些性能问题时,我注意到对于ASYNC_IO_COMPLETION和PAGEIOLATCH_*,我们的等待统计似乎很高。在“资源监视器”中,我注意到tempDB经常(至少每小时1次)读取/写入大量数据,总计(B/Sec)范围从5GB到25 5GB。
tempDB位于一个独立的虚拟磁盘上,而不是数据库和日志文件。TempDB大小为4GB。我们的主DB和日志文件的大小各为40 DB。我试着研究perfmon计数器,但是没有找到任何我能理解的东西来找出为什么我会得到某些数字。
通过资源监视器,tempDB的总数据如此之高,这是否不寻常?我们的主数据库每天只增长大约50 is。我应该寻找什么来找出是什么导致了tempDB上如此高的数据,以及这是否导致了I/O瓶颈?如果最好的方法是使用特定的perfmon计数器,那么我应该查看哪些计数器,以及哪些值是好的还是坏的?
发布于 2019-05-29 11:12:16
Tempdb用于保存:
显式创建的临时用户对象,例如:全局或本地临时表和索引、临时存储过程、表变量、表值函数中返回的表、或导致tempdb分配的cursors.To捕获会话,请尝试使用sp_blitz或更深入地了解tempdb。https://www.mssqltips.com/sqlservertip/4356/track-sql-server-tempdb-space-usage/
https://dba.stackexchange.com/questions/239226
复制相似问题