Yo tuve los mismos problemas, pero la solucion es muy sencilla.
1. Crea un usuario en la base de datos que se llame igual a un usuario con privilegios de administrador local del equipo. Puedes ver los pasos en el siguiente link: http://technet.microsoft.com/es-es/library/aa337545.aspx Aunque no lo creas este es el secreto, ya que si no lo haces la tarea programa no la ejecuta el windows por falta de derechos.
2. Luego debes crear el script para que el SQL genere el respaldo, lo puedes ingresar en el sql management y guardarlo en la carpeta que vas a utilizar para hacer los respaldos o en la raiz de la unidad c:
USE "nombre base datos";
GO
declare @fecha varchar(MAX)
declare @archivo varchar(MAX)
set @fecha = CONVERT(Varchar(max), GETDATE(),102)+'_'+SUBSTRING(CONVERT(varchar(10), getdate(),108),1,2)+SUBSTRING(CONVERT(varchar(10), getdate(),108),4,2)+'horas'
set @archivo ='C:\nombredelacarpetaBACKUP\nombre_de_su_base'+@fecha+'.bak'
BACKUP DATABASE nombre_de_su_base
TO DISK = @archivo
WITH FORMAT,
MEDIANAME = 'D_SQLServerBackups',
NAME = 'Full Backup of nombre base datos;
GO
3. Paso Crear un archivo por lotes .bat con el block de notas y le indicas que ejecute el sqi. Si no sabes crear el archivo .bat aqui te dejo el link para que aprendas: http://norfipc.com/utiles/tutorialbatch1.html
4.Por ultimo creas una tarea programada desde windows, con la programacion y periodicidad deseada. Y seleccionas el archivo bat creado en el paso anterior. Nota debes usar el usuario y clave que creaste en la base de datos y este debe ser igual al usuario y clave de un usuario administrador del equipo.
Saludos y espero que te alla ayudado. Si no estamos a la orden. No olvides votar por mi respuesta para seguir contestando tus dudas.