La edición Express de SQL Server 2005 no tiene el Agente, así que como ya comentas, tendrás que hacer un script y ejecutarlo con una tarea programada de Windows.
Si el tipo de backup es el mismo y para todas las bases de datos, puedes utilizar el código
Código:
exec sp_msforeachdb 'backup database [?] to disk=''c:\path_to_folder\?.bak'''
Si el tipo de backup es diferente según la base de datos o bien para un conjunto de bases de datos, puedes hacer un bucle con un cursor sobre la sys.databases y ejecutar la consulta dinámica con sp_executesql.
Código:
declare @db varchar(128)
declare @sql nvarchar(500)
declare c cursor for select name
from sys.databases
where name in ('db1','db2') --conjunto de bases de datos
open c
fetch next from c into @db
while @@fetch_status=0
begin
if @db = 'db1' --tipo de backup según la base
set @sql='backup database '+@db+' to disk=''c:\path_to_folder\'+@db+'.bak'''
if @db='db2' --tipo de backup según la base
set @sql='backup log '+@db+' to disk=''c:\path_to_folder\'+@db+'.bak'''
exec sp_executesql @sql
fetch next from c into @db
end
close c
deallocate c.
Saludos