Temos uma transação em execução há mais de 5 horas. Estamos ficando sem espaço em disco. A sessão foi encerrada, mas ainda está aguardando IO_COMPLETION. Na verdade, o wait_type acabou de mudar para PAGEIOLATCH_EX. Como posso encerrar a transação do SQL Server suspensa? Não estou preocupado com a perda de dados, pois tudo pode ser preenchido novamente.
session_id: 54
STATUS: suspended
blocked by: 0
wait_type: PAGEIOLATCH_EX
Elapsed Time (in Sec): 19750.420000
open_transaction_count: 2
sql-server-2012
transaction
kill
Tarzan
fonte
fonte
KILL 54 WITH STATUSONLY
para descobrir quanto tempo vai demorar para reverter.KILL .. WITH STATUSONLY
não é preciso e entendo o seu ponto. Você pode tentarAlter database .. set OFFLINE or single_User WITH ROLLBACK IMMEDIATE
?Respostas:
Da próxima vez que isso acontecer, execute
sp_WhoIsActive
( download / documentação ) e veja quem está executando o quê e veja a lógica. Verifique se o TSQL pode ser otimizado para executar mais rapidamente ou talvez dividi-lo em transações menores.Eu já tive casos em que o log de transações de uma consulta incorreta feita por redatores de relatórios, carregadores de dados etc. aumentaria o log de transações maior que o tamanho do arquivo de dados e, geralmente, é uma consulta de baixo desempenho e mal escrita que não é otimizada ou fragmentada em transações menores para devolver espaço livre assim que a transação for concluída - também em um
SIMPLE
banco de dados doFULL
modelo de recuperação - os bancos de dados do modelo de recuperação precisariam ter backups do log de transações concluídos para permitir a reutilização do espaço do log de transações das transações confirmadas.O problema raiz provavelmente é a consulta, portanto, determinar quem está fazendo o quê, entrar em contato com eles e relatar o problema com suas descobertas pressionaria eles a corrigir sua lógica para não aumentar o espaço em disco do servidor para essa partição de disco - espero que seja não é sua lógica, mas se for, procure otimizar a lógica para consultar o desempenho.
fonte