===== Как получить текущий процент выполнения запроса к БД SQL Server ===== {{:microsoft-sql-server:t-sql-script-samples:pasted:20170820-144235.png }} В SQL Server некоторые пользовательские запросы, выполняемые к той или иной базе данных могут не иметь информации о статусе выполнения в графической оболочке **SQL Server Management Studio** (SSMS). Например, если в консоли SSMS администратор вызовет сжатие БД через графический интерфейс, то в окне выполнения задачи он может не увидеть процесс выполнения задачи. {{ :microsoft-sql-server:t-sql-script-samples:pasted:20190206-114318.png }} В данном случае узнать статус выполнения задачи в процентном показателе можно запросом к базе вида: SELECT [command] ,[start_time] ,[percent_complete] ,[estimated_completion_time] / 60000. AS [estimated_completion_time_min] FROM sys.dm_exec_requests WHERE [command] LIKE '%compact%' {{ :microsoft-sql-server:t-sql-script-samples:pasted:20190206-114515.png }} Если мы не знаем, как называется выполняемая команда, то просто уберём последнюю строку, чтобы получить список всех выполняемых к БД запросов: SELECT [command] ,[start_time] ,[percent_complete] ,[estimated_completion_time] / 60000. AS [estimated_completion_time_min] FROM sys.dm_exec_requests ---- **Дополнительная информация**: * [[https://olontsev.ru/2012/06/check-query-percent-complete/|Блог Олонцева Сергея - Как узнать процент выполнения запроса]] ---- Проверено на следующих конфигурациях: ^ Версия SQL Server ^ Версия SSMS ^ | Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0) | Microsoft SQL Server Management Studio 17.9.1 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 06.02.2019 11:41 {{tag>SQL "Microsoft SQL Server" Database T-SQL Transact-SQL "SQL Server Management Studio" SSMS}} ~~DISCUSSION~~