Czy istnieje sposób na sprawdzenie postępu DBCC SHRINKFILE
wypowiedzi?
Oto jak go uruchomiłem
plik skurczowy dbcc ('main_data', 250000)
Korzystam z powyższej instrukcji zarówno w SQL Server 2005, jak i 2008.
[AKTUALIZACJA] Oto zapytanie, które uruchomiłem, aby sprawdzić postęp i tekst, który jest uruchamiany.
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
źródło
źródło
Odpowiedź Aarona jest natychmiastowa, ale chciałbym ostrzec cię przed uruchomieniem zmniejszania się pliku danych, ponieważ powoduje to straszne problemy z wydajnością. Kiedyś byłem właścicielem kodu skurczowego, więc wiem o czym mówię. Zapoznaj się z tym postem na blogu, który napisałem wczoraj, który pokazuje, co mam na myśli, i doradza, jak dokonać zmniejszenia bez faktycznego zmniejszenia: Dlaczego nie powinieneś zmniejszać plików danych
Mam nadzieję że to pomoże!
PS Jeszcze jedna rzecz, aby sprawdzić, czy zajmuje to dużo czasu, a procent_kompletności nie rośnie - poszukaj blokowania. Shrink będzie się nieskończenie czekał na zamki, których potrzebuje.
źródło
źródło
Poniższe zapytanie pokaże wynik w następujący sposób: śledź stan zmniejszania dbcc
źródło
Dodanie mojej własnej wersji dla każdego zainteresowanego powoduje konwersję kolumn czasu milisekundowego na bardziej czytelne minuty i sekundy.
źródło
Lub możesz po prostu uruchomić exec sp_who3.
źródło
sp_whoisactive - jest kolumna „percent_complete”
źródło