Existe uma maneira de descobrir o progresso da DBCC SHRINKFILE
declaração?
Aqui está como eu estava executando
dbcc shrinkfile ('main_data', 250000)
Estou executando a instrução acima no SQL Server 2005 e 2008.
[UPDATE] Aqui está a consulta que eu executei para verificar o progresso e o texto que está sendo executado.
select T.text, R.Status, R.Command, DatabaseName = db_name(R.database_id)
, R.cpu_time, R.total_elapsed_time, R.percent_complete
from sys.dm_exec_requests R
cross apply sys.dm_exec_sql_text(R.sql_handle) T
sql-server
sql-server-2005
sql-server-2008
shrink
dance2die
fonte
fonte
A resposta de Aaron é imediata, mas eu gostaria de adverti-lo contra a redução do arquivo de dados, pois isso causa problemas horríveis de desempenho. Eu possuía o código de redução, então sei do que estou falando. Confira esta postagem do blog que escrevi ontem que mostra o que quero dizer e aconselha como efetuar uma redução sem realmente diminuir: Por que você não deve reduzir seus arquivos de dados
Espero que isto ajude!
PS Mais uma coisa para verificar se está demorando muito e o percent_complete não está aumentando - procure por bloqueio. O psiquiatra espera infinitamente pelos bloqueios necessários.
fonte
fonte
A consulta abaixo mostra o resultado da seguinte maneira: controlar o status de redução do dbcc
fonte
Adicionando minha própria versão para qualquer pessoa interessada, isso converte as colunas de milésimos de segundo em minutos e segundos mais legíveis.
fonte
Ou você pode simplesmente executar o exec sp_who3.
fonte
sp_whoisactive - existe a coluna "percent_complete"
fonte