Ciao.
Ci sono diverse soluzioni anche tramite script T-SQL o comandi batch. Il problema è che in ogni caso devi utilizzare un utente SQL che abbia sufficienti diritti per eseguire il backup.
Ti posto in ogni caso un esempio (tra i molteplici possibili). Assumiamo che tu abbia una connessione valida verso il database (SqlConnection) chiamata cnn, puoi eseguire i seguenti comandi:
Dim cmd As New SqlCommand()
cmd.CommandType = CommandType.Text
' Se il backu è lungo, meglio controllare anche cmd.CommandTimeout
cmd.Connection = cnn
' Backup del database
cmd.CommandText = "xp_sqlmaint '-D ""NOME_DEL_DB"" -BkUpDB ""C:\CopieDb\CopiaDb.bak"" -Rpt ""C:\CopieDb\LogCopiaDb.txt"" -BkUpMedia DISK'"
cmd.ExecuteNonQuery()
' Backup del file di log
cmd.CommandText = "xp_sqlmaint '-D ""NOME_DEL_DB"" -BkUpLog ""C:\CopieDb\CopiaLog.bak"" -Rpt ""C:\CopieDb\LogCopiaLog.txt"" -BkUpMedia DISK'"
cmd.ExecuteNonQuery()
Alla prossima.