Criar sistema de Backup SQLServer com java

Galera estou interessado em criar um sistema de backups para um trabalho da faculdade, o que imaginei para essa ferramenta é o seguinte, nela conteria um agendador de tarefas para ficar sempre executando a minha ferramenta, tipo de hora em hora, para isso já pensei em criar um .bat com o comando schtasks para criar a tarefa, imagino que o comando para o backup vou utilizar algo de TSQL como será de hora em hora terei que ter uma linha com o FULL e outra com o DIFFERENTIAL, para complicar mais ainda minha situação estava imaginando salvar esses os backups numa pasta respectiva ao seu dia tipo Domingo, Segunda, Terça e por ai vai. O que mais preciso da ajuda de vocês é em saber dos programadores mais antigos se existe uma maneira de fazer pelo java e se um programador de nível iniciante conseguiria fazer e alguma ideia de como começar a estruturar esse codigo?

Da pra fazer da. Eu ja fiz muita coisa integrando Java e SQL Server então vou lhe adiantar logo uma coisa.
Comandos que não geram uma ‘Tabela’ como resultado você so consegue saber se deu certo ou não.
No seu caso o ‘backup’

Outra dica é estudar o sqlcmd é o prompt do SQL Server, já que passar autenticação windows pelo Java é bem complicado.

Começa seu projeto e vai tirando duvidas por aqui.

Meu codigo ta ficando assim:

     File diretorio = new File("C:\\BackupSqlServer");
                 diretorio.mkdir();      
        
    String comando = "C:\\BackupBat\\Tarefa.bat";

    try 
    {
    Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+comando); 
    }
    catch (IOException e) 
    {
    e.printStackTrace();
    }

Agendador de tarefas .bat ta assim:
schtasks /create /sc hourly /st 00:00 /tn “BackupSQLServer” /tr C:\BackupSqlServer\Backup.bat

SQLCMD Backup.bat assim:
SQLCMD -S LOCALHOST\SERVER -Q “BACKUP DATABASE [BDTeste] TO DISK=‘C:\meubanco.bak’ WITH FORMAT”

Agora minha duvida é a seguinte como comentei no inicio queria que o meu sistema criasse as pastas segunda, terça, quarta, etc e salvasse o backup no seu dia, aonde irei conseguir colocar esse comando no próprio código java ou no .bat do SQLCMD e se alguém sabe como faria isso?

Obrigado pela ajuda.

Mais uma duvida posso adicionar mais um caminho no meu backup tipo to salvando no C:\ mais poderia colocar mais um caminho, fazer uma copia do backup.

Certo. Te aconselho a trabalhar com o JodaTime melhor biblioteca de datas (minha opinião).

Data Atual
´DateTime d = new DateTime();
d.toString(“YYYY-MM-dd”);´

Dia da semana
´Locale bLocale = new Locale(“pt”, “BR”);
getData().dayOfWeek().getAsText(bLocale) ;´

Na questão de passar o caminho do backup a minha sugestão é que ao invés de você ter um script fixo Backup.bat
Você cria esse arquivo bat toda que for executar. Assim você ja cria ele com os parâmetros certos

Blz vou trabalhar em cima dessa ideia e depois posto o resultado. Muito obrigado.