To Avoid Blocking between Full and Differential
performance #blocking#performance
-- Step 1: Check if the full backup job is running
DECLARE @fullBackupJobName NVARCHAR(128) = 'DatabaseBackup - USER_DATABASES - FULL'
DECLARE @fullBackupJobActivity INT
SELECT @fullBackupJobActivity = COUNT(*)
FROM msdb.dbo.sysjobactivity AS activity
INNER JOIN msdb.dbo.sysjobs AS jobs ON activity.job_id = jobs.job_id
WHERE jobs.name = @fullBackupJobName
AND activity.start_execution_date IS NOT NULL
AND activity.stop_execution_date IS NULL
IF @fullBackupJobActivity > 0
BEGIN
-- The full backup job is still running, so exit the differential backup job
PRINT 'Full backup job is still running. Exiting differential backup job.'
RETURN
END
-- Step 2: Perform the differential backup job
--DECLARE @diffBackupJobName NVARCHAR(128) = 'DatabaseBackup - USER_DATABASES - DIFF'
-- Add your code to perform the differential backup here
EXECUTE [dbo].[DatabaseBackup]
@Databases = 'USER_DATABASES',
@Directory = N'log',
@BackupType = 'DIFF',
@Verify = 'Y',
@CleanupTime = NULL,
@CheckSum = 'Y',
@LogToTable = 'Y'