Denis estaba muy cerca. Pero la solución real fue un poco cambiada. Como PowerShell no puede verificar la CPU durante un período de tiempo, solo el uso actual, la verificación de SQL Server tuvo que ser utilizada.
Entonces, mi primer paso del trabajo fue ejecutar un script de PowerShell que verifica si la hora actual del sistema está entre las dos restricciones de tiempo. Si es así, entonces el script de PowerShell no hace nada. El trabajo de SQL Server interpreta esto como un éxito.
Luego, el trabajo pasa al último paso y realiza la consulta de actualización.
Sin embargo, si el tiempo actual está fuera del rango, realizo una Start-Time -s 600
pausa del script de PowerShell durante 10 minutos (simulando el "requisito de 5 a 10 minutos). Esto es para evitar que el agente del servidor SQL intente constantemente ejecutar este trabajo .
Después de 10 minutos, el script de PowerShell arroja un error personalizado. Como tengo $ErrorActionPreference = "Stop"
al comienzo del script, el script de PowerShell deja de ejecutarse después del error. Este paso es muy importante.
Dado que powershell se detuvo y no regresó, el Agente SQL Server interpreta esto como un error y no continuará con el paso que realiza la consulta de Actualización.
PD: Ustedes me llevaron en la dirección correcta. Si tuviera suficiente reputación, los votaría.
Editar: Agregado Powershell Script
$ErrorActionPreference = "Stop"
$StartTime = Get-Date "12:00 AM"
$EndDate = Get-Date "05:00 AM"
$CurrentDate = Get-Date
$ExecuteJob = $StartTime -lt $CurrentDate -and $EndDate -gt $CurrentDate
if(!$ExecuteJob){
Start-Sleep -s 600
throw "Current Time not within Server downtime"
}