Get progress of 'Shrink Database' task on a Microsoft SQL Server
Shrinking a big database on a Microsoft SQL Server can take some time. And it’s one of those tasks, where you wont get a status until it’s finished. I really hate this… But this small T-SQL query can help:
SELECT
percent_complete,
dateadd(second,estimated_completion_time/ 1000, getdate()) as est_completion_time
FROM
sys.dm_exec_requests
WHERE
command = 'DbccFilesCompact'
Simply open a new query windows, paste the query into the query windows and execute the query. The query outputs the progress in percent and the estimated completion time.