Prueba esto:
CREATE PROCEDURE MyTask
AS
BEGIN
SET NOCOUNT ON;
-- For executing the stored procedure at 11:00 P.M
declare @delayTime nvarchar(50)
set @delayTime = '23:00'
while 1 = 1
begin
waitfor time @delayTime
begin
--Name for the stored proceduce you want to call on regular bases
execute [DatabaseName].[dbo].[StoredProcedureName];
end
end
END
Entonces,
-- Sets stored procedure for automatic execution.
sp_procoption @ProcName = 'MyTask',
@OptionName = 'startup',
@OptionValue = 'on'
Referencia:
sp_procoption (Transact-SQL)
Establece o borra un procedimiento almacenado para la ejecución automática. Un procedimiento almacenado configurado en ejecución automática se ejecuta cada vez que se inicia una instancia de SQL Server.
WaitFor
Bloquea la ejecución de un lote, procedimiento almacenado, o de transacción hasta un tiempo especificado o intervalo de tiempo se alcanza, o una modifica o rendimientos de los estados especificados al menos una fila.
¿Tener este proceso almacenado ejecutando infinitamente requiere una gran cantidad de recursos? Es decir, ¿ralentizará el rendimiento general de la base de datos? – TheMagnificent11
'Es el período de tiempo especificado que debe pasar, hasta un máximo de 24 horas' desde MSDN. ¿Hay alguna forma de que esto sea hasta un año? – WTFZane