Sql Tempdb变得太大了

Sql Tempdb变得太大了,sql,sql-server,database,Sql,Sql Server,Database,我正在执行一个正常的SP,之后我的Tempdb获得了80GB的磁盘空间,而之前只有8MB。我怎样才能克服这个问题?为什么会发生这种情况?之所以会发生这种情况,是因为您在SP中执行了一些需要tempdb的操作。例如,在某些条件下进行排序时,需要知道所有数据的可怕区别 您可以通过重写SQL以不使用Tempdb来克服这一问题。以及您刚刚修复的当前大小调整(重新定义大小、重新启动服务器、重新创建tempdb) 根据DB、BTW,我不会认为80GB在一个正派的现代服务器上是过度的。显然,这取决于您的操作。

我正在执行一个正常的SP,之后我的
Tempdb
获得了80GB的磁盘空间,而之前只有8MB。我怎样才能克服这个问题?为什么会发生这种情况?

之所以会发生这种情况,是因为您在SP中执行了一些需要tempdb的操作。例如,在某些条件下进行排序时,需要知道所有数据的可怕区别

您可以通过重写SQL以不使用Tempdb来克服这一问题。以及您刚刚修复的当前大小调整(重新定义大小、重新启动服务器、重新创建tempdb)


根据DB、BTW,我不会认为80GB在一个正派的现代服务器上是过度的。显然,这取决于您的操作。

收缩事务日志(您可能需要先备份数据库)@t-clausen.dk是的,我会收缩它,但这可能是什么原因?这是我想知道的最主要的事情。阅读执行计划,找出对tempdb的影响。常见的是排序和散列操作。出于好奇,
groupby
是否与
distinct
有相同的问题?我想是的。事情还取决于指数等因素。