Userei un servizio Windows per questo. Fai in modo che un loop con un thread vi dorma per farlo attendere ogni x secondi.
Il problema con i processi timer di tipo utilizzato in SQL Server è che esiste un servizio timer che controlla se è necessario eseguire un processo. Questo processo timer può verificare, ad esempio, ogni 2 minuti, quindi la precisione fino a un secondo non è possibile.