>Esiste un applicazione free che mi permette di fare questo in
>automatico?
Ciao Giampiero,
Si, esiste e ce l'hai già installata
Insieme a SQL Server Express troverai una piccola utility command line chiamata sqlcmd.exe.
Questo programmino ti permette di connetterti all'istanza e di sottomettervi qualunque comando T-SQL.
Tramite uno scheduled task puoi schedulare un full backup giornaliero senza la necessità di interrompere il servizio.
Supponendo di configurare il task per essere eseguito da un utente per il quale esiste una login ad esso mappata in SQL Server potrai schedulare l'esecuzione del seguente comando:
sqlcmd -S.\SQLEXPRESS -Q"BACKUP DATABASE nomedb TO DISK = 'C:\backup\nomedb.bak";
La sintassi completa di sqlcmd la trovi sui Books Online:
http://msdn.microsoft.com/en-us/library/ms162773.aspx
>Il problema è il file mdf del db che non è accessibile quando
>è in esecuzione.
>Soluzione?
Copiare il solo file .mdf non serve a niente dato che un db in SQL Server è SEMPRE costituito da almeno due files: il Master Data File (.mdf) con i metadati ed il Transaction Log (.ldf).
Il metodo più corretto per salvare una copia consistente di un db è quello di eseguire un full backup.
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org