Do you know the recommendations of software items for creating automated backup copies of SQL Server 2008 databases?

The backup should happen if you don't take the database offline/detatching.

If you work with SQL Server Express, you will not look for a UI to operate periodic backup copies.
Within this situation you need to operate a batch using Home windows Scheduled Tasks or something like that similar.

Be sure to make use of an user with sufficient rights to gain access to SQL Server

Within the batch file

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S 
(local)\SQLExpress -i D:\dbbackups\SQLExpressBackups.sql

In SQLExpressBackups.sql

BACKUP DATABASE MyDataBase1 TO  DISK = N'D:\DBbackups\MyDataBase1.bak' 
WITH NOFORMAT, INIT,  NAME = N'MyDataBase1 Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

BACKUP DATABASE MyDataBase2 TO  DISK = N'D:\DBbackups\MyDataBase2.bak' 
WITH NOFORMAT, INIT,  NAME = N'MyDataBase2 Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

I would suggest just developing a maintenance plan in SQL Server to handle backup copies, it may be set up to backup to some specified location at specified occasions, if you don't take the databases offline, and can handle your incremental backup cleanup.

http://msdn.microsoft.com/en-us/library/ms189715.aspx

Use SQL backup and FTP (http://sqlbackupandftp.com)

I battled with this particular for some time since it wasn't apparent working a regime that created files with various names to ensure that one run did not over write another. Ultimately it produced the next Home windows batch file

:: Daily Backup of SQLSERVER databases

:: AKC 30 Apr 2011

::

:: Set environment variables

SET SQLCMDPASSWORD=xxxxxx
SET BACKUPDIR=C:\backups\db\

SET SCRIPTDIR=D:\Public\DB\batch_scripts\

:: Issue backup commands from a sql script

SQLCMD -U a_backup -S SERVER\SQLEXPRESS -i %SCRIPTDIR%daily_backup.sql

:: Tidy Up Old Backup Files (keep for 5 days)

FORFILES /P %BACKUPDIR% /S /M "*.bak" /D -5 /C "cmd /c del @path"

in which a_backup is my sqlserver login with backup rights. The related sql is

DECLARE @thistime nvarchar(25);

DECLARE @filename nvarchar(255);

SET @thistime = CONVERT(nvarchar,GETDATE(),126);

SET @filename = "$(BACKUPDIR)" + N'PASL' + SUBSTRING(@thistime,1,10) + N'_DB.bak';

BACKUP DATABASE DB_live

    TO DISK = @FILENAME

    WITH INIT;

GO

The invention of "FORFILES" command to get rid of older files was the important thing finding for me personally.

The transaction logs counterparts are

:: Transaction Log Backups of SQLSERVER databases

:: AKC 30 Apr 2011

:: Run at reasonably spread out times of the day

:: Set environment variables

SET SQLCMDPASSWORD=xxxxxx
SET BACKUPDIR=C:\backups\db\
SET SCRIPTDIR=D:\Public\DB\batch_scripts\

:: Issue backup commands from a sql script

SQLCMD  -U a_backup -S SERVER\SQLEXPRESS -i %SCRIPTDIR%tlog_backup.sql

with sql file

DECLARE @thistime nvarchar(25);

DECLARE @filename nvarchar(255);

SET @thistime = CONVERT(nvarchar,GETDATE(),126);

SET @filename = "$(BACKUPDIR)" + N'PASL' + SUBSTRING(@thistime,1,10) + SUBSTRING(@thistime,11,3) + N'_LOG.bak';

BACKUP LOG DB_live

    TO DISK = @FILENAME

    WITH INIT;

GO

I ought to observe that the database files take presctiption my D: drive, and that's why I required the backup copies to the C: drive.

The Daily backup is joined like a job within the Home windows Task Scheduler to operate daily at 4:00am. The transaction log backup is placed to operate daily at 8:00am having a repeat every 4 hrs finishing after 13 hrs (leading to it to operate at 8am Midday, 4pm and 8pm every single day)