एसक्यूएल सर्वर में बैकअप और पुनर्स्थापना प्रगति की जांच करने के लिए स्क्रिप्ट :
कई बार ऐसा होता है कि आपकी बैकअप (या पुनर्स्थापना) गतिविधि किसी अन्य डेटाबेस व्यवस्थापक द्वारा या नौकरी से शुरू की गई है, और आप उस बैकअप / पुनर्स्थापना की प्रगति की जांच करने के लिए GUI और कुछ का उपयोग नहीं कर सकते हैं।
कई कमांडों को मिलाकर, मैंने स्क्रिप्ट के नीचे उत्पन्न किया है जो हमें वर्तमान बैकअप और पुनर्स्थापना का सारांश दे सकता है जो सर्वर पर हो रहा है।
select
r.session_id,
r.blocking_session_id,
db_name(database_id) as [DatabaseName],
r.command,
[SQL_QUERY_TEXT] = Substring(Query.TEXT, (r.statement_start_offset / 2) + 1, (
(
CASE r.statement_end_offset
WHEN - 1
THEN Datalength(Query.TEXT)
ELSE r.statement_end_offset
END - r.statement_start_offset
) / 2
) + 1),
[SP_Name] =Coalesce(Quotename(Db_name(Query.dbid)) + N'.' + Quotename(Object_schema_name(Query.objectid, Query.dbid)) + N'.' +
Quotename(Object_name(Query.objectid, Query.dbid)), ''),
r.percent_complete,
start_time,
CONVERT(VARCHAR(20), DATEADD(ms, [estimated_completion_time],
GETDATE()), 20) AS [ETA_COMPLETION_TIME],
CONVERT(NUMERIC(6, 2), r.[total_elapsed_time] / 1000.0 / 60.0) AS [Elapsed_MIN],
CONVERT(NUMERIC(6, 2), r.[estimated_completion_time] / 1000.0 / 60.0) AS [Remaning_ETA_MIN],
CONVERT(NUMERIC(6, 2), r.[estimated_completion_time] / 1000.0 / 60.0/ 60.0) AS [ETA_Hours],
wait_type,
wait_time/1000 as Wait_Time_Sec,
wait_resource
from sys.dm_exec_requests r
cross apply sys.fn_get_sql(r.sql_handle) as Query where r.session_id>50 and command IN ('RESTORE DATABASE','BACKUP DATABASE', 'RESTORE LOG', 'BACKUP LOG')