尽管日志文件显示有超过 1 GB 的可用空间,但我们每 3 或 4 天就会收到一条错误消息,提示 TempDB 文件已满。我知道游标会影响 TempDB 文件,但我还应该检查其他什么来了解为什么这种情况一直发生?我尝试运行 SQL Profiler,但在运行它时,它使数据库速度变得非常慢,以至于用户遇到超时。我应该在 SQL Profiler 中检查哪些具体项目?
答案1
还要检查您的计划作业,看看是否有作业在发生这种情况之前运行。设计不良的导入或导出也可能导致这种情况。
请告诉我,为什么您运行了足够多的游标,以至于认为这是 tempdb 变满的原因。通常应避免使用游标,尤其是在生产数据库中。您为什么不改用基于集合的解决方案呢?
答案2
编写存储过程脚本并查找正在创建但未被删除的临时表。如果这些存储过程运行频繁,则可能会以这种方式填充临时数据库。