Когда я создаю резервную копию или восстанавливаю базу данных с помощью MS SQL Server Management Studio, я получаю визуальное представление о том, насколько далеко продвинулся процесс, и, следовательно, сколько еще мне еще нужно ждать его завершения. Если я начну резервное копирование или восстановление с помощью сценария, есть ли способ отслеживать прогресс, или я просто сижу и жду его завершения (надеясь, что все пошло не так?)
Отредактировано: Моя потребность состоит в том, чтобы иметь возможность отслеживать ход резервного копирования или восстановления полностью отдельно от сеанса, в котором было инициировано резервное копирование или восстановление.
источник
Я нашел этот пример сценария здесь , что , кажется, работает очень хорошо:
источник
Если вы знаете идентификатор сеанса, вы можете использовать следующее:
Или, если вы хотите сузить круг:
источник
Вот простой сценарий, который обычно помогает мне:
источник
Часто случается, что ваше действие по резервному копированию (или восстановлению) было запущено другим администратором базы данных или заданием, и вы не можете использовать графический интерфейс для проверки выполнения этого резервного копирования / восстановления.
Объединив несколько команд, я создал нижеприведенный сценарий, который может дать нам сводку текущих резервных копий и восстановлений, которые происходят на сервере.
источник
источник
Используйте СТАТУС в команде РЕЗЕРВНОЕ КОПИРОВАНИЕ, если это просто сценарий.
Внутри кода все немного сложнее. Например, в ODBC вы устанавливаете SQL_ATTR_ASYNC_ENABLE, а затем ищите код возврата SQL_STILL_EXECUTING и выполняете несколько повторных вызовов SQLExecDirect, пока не получите SQL_SUCCESS (или eqiv).
источник
Попробуйте с:
источник
Используйте параметр STATS: http://msdn.microsoft.com/en-us/library/ms186865.aspx
источник
Я думаю, что лучший способ узнать, как идет ваше восстановление или резервное копирование, - это следующий запрос:
В приведенном выше запросе идентифицируйте сеанс отдельно и выполняйте процентный прогресс каждый раз, когда вы нажимаете F5 или кнопку «Выполнить» в SSMS!
Запрос выполнил парень, который пишет этот пост
источник
Добавить
STATS=10
илиSTATS=1
в резервной команде.источник
ВЫБЕРИТЕ session_id в качестве SPID, command, start_time, percent_complete, dateadd (second, Estimated_completion_time / 1000, getdate ()) как Estimated_completion_time, a.text AS Query FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text (r.sql_text (r.sql) a. команда в ('BACKUP DATABASE', 'BACKUP LOG', 'RESTORE DATABASE', 'RESTORE LOG')
источник
Для всех, кто использует SQL Server на RDS (AWS), есть встроенная процедура, вызываемая в
msdb
базе данных, которая предоставляет исчерпывающую информацию для всех задач резервного копирования и восстановления:Это даст полное изложение каждой задачи, ее конфигурацию, подробную информацию о выполнении (например, процент выполнения и общая продолжительность), а также
task_info
столбец, который очень полезен при попытке выяснить, что не так с резервным копированием или восстановлением.источник
Для отслеживания хода выполнения резервного копирования или восстановления полностью отдельно от сеанса, в котором было инициировано резервное копирование или восстановление. Никаких сторонних инструментов не требуется. Протестировано на Microsoft SQL Server 2012.
источник
Я использую sp_whoisactive, очень информативный, в основном промышленный стандарт. он также возвращает процент завершения.
источник
У меня была аналогичная проблема при работе над операцией восстановления базы данных на MS SQL Server 2012.
Однако для моего собственного сценария мне просто нужно было видеть ход операции ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ в окне сценария.
Все, что мне нужно было сделать, это добавить в скрипт опцию STATS:
Затем я переключился на вкладку « Сообщения » окна «Сценарий», чтобы увидеть, как выполняется операция ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ :
Если вы хотите получить дополнительную информацию после операции ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ, вы можете использовать эту команду, предложенную eythort :
Вот и все.
надеюсь, это поможет
источник
просто запустите bkp_status на master db, вы получите статус резервной копии
источник