バックアップ/復元操作の進行状況を監視する方法を尋ねる同様の質問を見ました。SQLServerの バックアップまたは復元プロセスの進行状況を判断するために使用できるSQLスクリプトはありますか?
クエリが終了するまでの残り時間を確認するための同様のクエリ/方法があるかどうかを知りたいです。 たとえば、1つのクエリの経過時間は通常5分です。クエリの実行中に終了するまでの残り時間を知りたいのですが。
バックアップ/復元操作の進行状況を監視する方法を尋ねる同様の質問を見ました。SQLServerの バックアップまたは復元プロセスの進行状況を判断するために使用できるSQLスクリプトはありますか?
クエリが終了するまでの残り時間を確認するための同様のクエリ/方法があるかどうかを知りたいです。 たとえば、1つのクエリの経過時間は通常5分です。クエリの実行中に終了するまでの残り時間を知りたいのですが。
必要なのはLiveQueryStatisticsです。
SSMSの最新バージョンでは、通常のクエリプランを提供するボタンの横にあるボタンを使用してアクティブ化できます。
これにより、ライブクエリプランが得られます。
下部に全体の進捗状況が表示されます。
sys.dm_exec_requests
その情報を持っているので、そのようなものはあなたに進歩を与えるでしょう:
SELECT
percent_complete
FROM sys.dm_exec_requests
--where session_id=51 or command like 'restore%'
残り時間を知る方法はありません。クエリの実行時間は、実際のクエリ自体以外にも、他のクエリのロック/ブロック、リソースを消費する他のプロセス(CPU /ディスク使用量)、オペレーティングシステム、ネットワークなどに依存します。5分間のクエリが実行されている場合はどうなりますか?他の誰かが大きなレポートを開始しました。クエリは5:30に実行される可能性があります。誰かが大きなファイルをダウンロードし始めて、すべてのネットワーク帯域幅を占有した場合はどうなりますか?OSがバックグラウンドなどで何かを実行することを決定した場合はどうなりますか。すべての行が返されるまで、クエリは実行されませんが、可変の時間枠で実行できます。
はい、プロセスの実行に影響を与える予期しない状況が発生しない限り、推定経過時間を知ることができます。
Select total_elapsed_time,
* from sys.dm_exec_sessions where session_id="your Id here"