Recentemente, arquivamos alguns dados de um banco de dados de produção muito grande e precisamos reduzir todos os arquivos de dados para readquirir espaço em disco.
O problema é que está demorando muito e não conseguimos descobrir quanto trabalho é feito DBCC ShrinkDatabase
para que possamos estimar o tempo de execução restante.
Existe alguma maneira rápida de obter a porcentagem de conclusão da DBCC ShrinkDatabase
tarefa?
Bem, você nunca deveria usar
DBCC SHRINKDATABASE
, IMHO - se precisar reduzir os arquivos, pense duas vezes, talvez até três vezes, e mesmo no caso estranho em que realmente é garantido (dica: isso deve ser raro) , você deve direcionar cada arquivo individualmente usandoDBCC SHRINKFILE
. Por favor, leia cada palavra nesta página .De qualquer forma, você pode ver o progresso usando:
Documentação para
sys.dm_exec_requests
.Não há necessidade de reinventar a roda, Adam Machanic escreveu um procedimento armazenado útil para substituir
SP_Who
eSP_Who2
. Você pode encontrá-lo aqui gratuitamente.( http://whoisactive.com/ )
Este procedimento armazenado tem uma coluna “
Percent_Complete
” que fornece a porcentagem de redução do banco de dados concluída pelo servidor.