O que acontece quando o tempdb não pode mais crescer?

3

Eu me deparei com um problema em que um banco de dados tempdb definido para ter crescimento irrestrito usou todo o espaço em disco disponível (10x sua norma). Estou pensando em definir um limite máximo de tamanho, algo grande, mas não todo o espaço.

Se uma consulta colocar o tempdb no limite, espero que a consulta que está usando o espaço seja eliminada e liberte o espaço, permitindo que tudo funcione corretamente. É provável que isso aconteça ou o SQL Server parará completamente?

Obrigado por qualquer resposta.

    
por Iain Hoult 08.02.2011 / 12:09

1 resposta

2

Há um bom artigo aqui em este tópico (cerca de 3/4 do caminho da página). Aqui está um trecho:

In this example, the query runs for 3 minutes before we hit the 200MB file size limit, as shown in Figure 25, and get an error that the filegroup is full.

At this point the query fails, obviously, as will any other queries that need to use TempDB. SQL Server is still functioning properly, but as long as the temp table #HoldAll exists, TempDB will stay filled.

Your three options, as a DBA, are to:

  • Restart SQL Server.
  • Try to shrink the TempDB database.
  • Find the errant query and eradicate it.
    
por 09.02.2011 / 03:10