none
Realizando backup através do C# (AJUDA) RRS feed

  • Pergunta

  • Boa tarde amigos, 

    Gostaria de saber se existe algum método para criar backup de uma maneira mais rápida, estou utilizando um método, porém ele demora muito para processar.

    conn = new SqlConnection(connectionString);
                    conn.Open();
                    sql = "BACKUP DATABASE " + cmBoxBancodeDados.Text + " TO DISK = '" + txtLocalizacao.Text + "\\" + cmBoxBancodeDados.Text + "-" + DateTime.Now.Ticks.ToString() + ".bak'";
                    command = new SqlCommand(sql, conn);
                    command.CommandTimeout = 300;
                    command.ExecuteNonQuery();
                    MessageBox.Show("Backup salvo com sucesso!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Estou usando esse comando, porém está demorando muito (3min.) par gerar backup de um banco de (2GB), imagina um banco de 30Gb? iria demorar uma hora no mínimo. 

    sexta-feira, 24 de junho de 2016 20:02

Respostas

  • Também utilizo esse código. O tempo vai depender dos recursos de hardware da máquina que está executando o Backup. Mas caso alguém tenha uma forma diferente também fico no aguardo por outra solução.
    • Marcado como Resposta Thales F Quintas segunda-feira, 27 de junho de 2016 18:23
    sexta-feira, 24 de junho de 2016 21:09

Todas as Respostas

  • Também utilizo esse código. O tempo vai depender dos recursos de hardware da máquina que está executando o Backup. Mas caso alguém tenha uma forma diferente também fico no aguardo por outra solução.
    • Marcado como Resposta Thales F Quintas segunda-feira, 27 de junho de 2016 18:23
    sexta-feira, 24 de junho de 2016 21:09
  • Boa tarde,

    Por falta de retorno, esta thread será encerrada.

    Caso seja necessário, por gentileza, abra uma nova thread.

    Atenciosamente


    Thales F Quintas

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 27 de junho de 2016 18:23
  • Olá colega, o que você pode fazer é um Backup completo , (demorado) uma vez por semana e fazer um diferencial os outros dias, o Backup diferenciado fica mais rápido pois só vai gravar o que foi alterado desde o ultimo Backup completo.

    Sintexe Comando

    BACKUP DATABASE { database_name | @database_name_var }   
      TO <backup_device> [ ,...n ]   
      [ <MIRROR TO clause> ] [ next-mirror-to ]  
      [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]  
    [;]  

    DIFFERENTIAL
    Usado apenas com BACKUP DATABASE, especifica que o backup de banco de dados ou de arquivo deve consistir apenas das partes do banco de dados ou arquivo alterado desde o último backup completo. Um backup diferencial normalmente usa menos espaço do que um backup completo. Use essa opção para que todos os backups de log individuais executados desde o último backup não precisem ser aplicados.


    Se foi útil e/ou resolveu seu problema, não esqueça de marcar como resposta.
    Visite : www.codigoexpresso.com.br
    sexta-feira, 1 de julho de 2016 18:41