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.