SQL Server Çevrimiçi Veritabanlarında Yedekleme Durumunu İzleme

Share

Bu script, SQL Server’daki çevrimiçi veritabanlarının yedekleme işlemlerini izlemek için kullanılır.
Her bir veritabanı için yedekleme işleminin durumu, yüzde tamamlanma ve tahmini tamamlanma süresi görüntülenir.
Bu bilgiler, veritabanı yönetimi ve yedekleme işlemlerini izlemek için kullanışlıdır.

USE master;

DECLARE @db_name NVARCHAR(255)
DECLARE @sql NVARCHAR(MAX)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE database_id > 4 AND state_desc = 'ONLINE' -- Sadece çevrimiçi veritabanlarına odaklanın

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @db_name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = '
USE [' + @db_name + '];

SELECT
''' + @db_name + ''' AS [Database Name],
r.session_id AS [Session ID],
s.text AS [SQL Text],
r.command AS [Command],
r.percent_complete AS [Percent Complete],
r.estimated_completion_time / 60000 AS [Minutes Left]
FROM sys.dm_exec_requests AS r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS s
WHERE r.command LIKE ''BACKUP%'';
'

EXEC(@sql)

FETCH NEXT FROM db_cursor INTO @db_name
END

CLOSE db_cursor
DEALLOCATE db_cursor
 
(Visited 46 times, 1 visits today)