none
Backup sql server programaticamente em outra maquina RRS feed

  • Pergunta

  • Pessoal alguem sabe alguma forma de realizar o backup de um banco de dados sql server programaticamente?

     

    Eu consegui com o seguinte código:

     

            Microsoft.SqlServer.Management.Common.ServerConnection cnn = new Microsoft.SqlServer.Management.Common.ServerConnection(Util.Server);
            cnn.LoginSecure = false;
            cnn.Login = Util.UserID;
            cnn.Password = Util.Passwd;
            Microsoft.SqlServer.Management.Smo.Server srv = new Microsoft.SqlServer.Management.Smo.Server(cnn);
            Microsoft.SqlServer.Management.Smo.Backup bkp = new Microsoft.SqlServer.Management.Smo.Backup();
            bkp.Action = Microsoft.SqlServer.Management.Smo.BackupActionType.Database;
            bkp.Database = Util.Database;
            string arqName = "BKP_" + DateTime.Now.ToString("yyyy-MM-dd_HH_mm_ss.bkp");
            Microsoft.SqlServer.Management.Smo.BackupDeviceItem bdi = new Microsoft.SqlServer.Management.Smo.BackupDeviceItem(System.IO.Path.Combine(Application.StartupPath, arqName), Microsoft.SqlServer.Management.Smo.DeviceType.File);
            bkp.Devices.Add(bdi);
            bkp.SqlBackup(srv);
            MessageBox.Show("Backup processado com sucesso!");
    

     

    Porém so roda se o exe for executado no servidor, se estiver em qq outro cient não funciona. queria deixar automatico o processo de backup.


    Lucas Santos - Tecnologia Unimed de Barretos
    quinta-feira, 9 de dezembro de 2010 14:31

Respostas

  • Por questão de segurança vc não pode fazer backup remotamente....

    Senão seria dificil de impedir que alguem mal intencionado fizesse um backup indesejado sem nem prescisar ter o trabalho de invadir o servidor de sql...

    Voce pode usar o SQL Agent para agendar um DTS de backup no servidor....

    Se quiser depois fazer um programa no mesmo servidor... vc pode executar ele no DTS do backup para que ele copie os arquivos gerados para outra maquina se quiser


    Eu não sou pago para postar aqui... faço simplesmente porque eu quero....
    • Marcado como Resposta Lucas D. Santos quinta-feira, 9 de dezembro de 2010 16:31
    quinta-feira, 9 de dezembro de 2010 15:16
    Moderador
  • Qto ao DTS é tranquilo hoje eu faço o backup por JOB mas como a aplicação que desenvolvi para um cliente especifico tenho ideia de implementar em outros locais pensei na possibilidade de realizar o backup de uma outra estação de trabalho, mas vlw ;P vou deixar agendado por JOB msm =)

     

    Obrigado parceiro


    Lucas Santos - Tecnologia Unimed de Barretos
    • Marcado como Resposta Lucas D. Santos quinta-feira, 9 de dezembro de 2010 16:31
    quinta-feira, 9 de dezembro de 2010 16:30

Todas as Respostas

  • Por questão de segurança vc não pode fazer backup remotamente....

    Senão seria dificil de impedir que alguem mal intencionado fizesse um backup indesejado sem nem prescisar ter o trabalho de invadir o servidor de sql...

    Voce pode usar o SQL Agent para agendar um DTS de backup no servidor....

    Se quiser depois fazer um programa no mesmo servidor... vc pode executar ele no DTS do backup para que ele copie os arquivos gerados para outra maquina se quiser


    Eu não sou pago para postar aqui... faço simplesmente porque eu quero....
    • Marcado como Resposta Lucas D. Santos quinta-feira, 9 de dezembro de 2010 16:31
    quinta-feira, 9 de dezembro de 2010 15:16
    Moderador
  • Qto ao DTS é tranquilo hoje eu faço o backup por JOB mas como a aplicação que desenvolvi para um cliente especifico tenho ideia de implementar em outros locais pensei na possibilidade de realizar o backup de uma outra estação de trabalho, mas vlw ;P vou deixar agendado por JOB msm =)

     

    Obrigado parceiro


    Lucas Santos - Tecnologia Unimed de Barretos
    • Marcado como Resposta Lucas D. Santos quinta-feira, 9 de dezembro de 2010 16:31
    quinta-feira, 9 de dezembro de 2010 16:30