几天前,我们已经从 2012 年服务器迁移到 2014 年,我们保留了与之前相同的设置,例如我们在 Tempdb 中使用 8 个数据文件以获得更好的性能,并且全部放置在单个驱动器中。
由于这是数据仓库环境,批量加载连续运行,并且 tempdb 驱动器已满。即使数据库中有 98% 的可用空间,它也无法重用空间并导致磁盘已满。
tempdb 中没有足够的空间来保存行版本。需要缩小版本存储以释放 tempdb 中的一些空间。事务(id=239368387 xsn=1273322 spid=126 elapsed_time=1590)已被标记为受害者,如果它访问版本存储,它将被回滚。如果问题仍然存在,可能的原因是临时数据库大小不正确或事务长时间运行。请参阅 BOL 了解如何配置 tempdb 进行版本控制。
问题
SQL Sever 2014 中是否有任何特定的 tempdb 设置可以避免这些问题?
对于 tempdb 性能改进有什么建议,例如启用跟踪标志 -T1118 吗?
2012 年,它只需要 64 GB,现在甚至 450 GB 也不够用。
服务器规范。
SQL Server 检测到 4 个插槽,每个插槽 15 个核心,每个插槽 30 个逻辑处理器,总共 120 个逻辑处理器;使用基于 SQL Server 许可的 120 个逻辑处理器。512 GB 内存。