none
BACKUP RRS feed

  • Pergunta

  • Colegas,

    Tenho uma pequena aplicação usando SQL Express 2008, meus clientes são de pequeno porte, preciso criar uma rotina que permita fazer Backup na máquina local, não achei nenhum exemplo que permita isto, alguém pode me ajudar?

    Ao tentar fazer Backup ele faz no servidor SQL Express e não no terminal que iniciou o Backup.

    Obrigado
    Bene
    Benedito Santana - São Paulo/SP - Sua pergunta foi respondida ? Marque-a !
    • Movido Gustavo Maia Aguiar quinta-feira, 21 de janeiro de 2010 12:10 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 21 de janeiro de 2010 12:02

Todas as Respostas

  • Benê.. mas isso é o correto, o backup é feito no servidor, é lá que o SQLServer está. Se você precisar, depois do backup, então movimente o arquivo para a pasta/maquina desejada.
    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quinta-feira, 21 de janeiro de 2010 12:06
  • Bom Dia,

    Não imagino ser "seguro" que alguém faça um backup na máquina local. Assim qualquer funcionário poderia levar os dados da empresa muito facilmente. De qualquer forma não é possível (a menos que você faça o backup usando o caminho de rede para a máquina do usuário).

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A quantidade de linhas fala por si só ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!926.entry
    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 21 de janeiro de 2010 12:09
  • Bene segue um script simples

    No caso, vc deve compartilhar uma pasta em um fileserver, ou na estacao do usuario e apontaro o camilho no script
    BACKUP DATABASE AdventureWorks 
     TO DISK = '\\fileserver\SQLServerBackups\AdvWorksData.bak'
    
    Conforme os amigos comentaram, nao é tao seguro deixar isto na estacao do usuario.


    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quinta-feira, 21 de janeiro de 2010 12:10
    Moderador
  • Colegas,

    Eu entendo os maleficios desta ação, mas vejam, como uma loja de conveniência como o Boticaria vai contratar um funcionario para isto???

    É mais fácil o gerente da loja fazer um backup dentro da aplicação certo.... isto é necessário neste cenário porque o servidor fica em uma sala fechada ligado 24 horas por dia OK.

    Então eu realmente preciso fazer backup no terminal que está no balcao sendo realizado pelo gerente as 22:00h

    Por favor desculpem a ignorancia, mas o que é fileserver???

    Obrigado
    Bene
    Benedito Santana - São Paulo/SP - Sua pergunta foi respondida ? Marque-a !
    quinta-feira, 21 de janeiro de 2010 12:58
  • Bene,

    File server é um servidor dedicado a armazenar somente arquivos, mas acredito que em seu cenario vc nao tenha um servidor dedicado a armazenamento de arquivos, como vc comentou será feito na maquina do gerente, sendo assim campartilhe uma pasta na maquina do gerente e informe no script do bkp este caminho conforme meu script acima


    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quinta-feira, 21 de janeiro de 2010 13:04
    Moderador
  • Marcelo,

    Eu imaginei que fosse isto, e realmente em meu cenário isto não existe, então alterei o script para o seguinte:

    BACKUP DATABASE
      MINHA_BASE_DE_DADOS
    TO DISK = '\\NOME_COMPUTADOR\PASTA_COMPARTILHADA\MINHA_BASE_DE_DADOS.bak'

    Resultado:

     Operating system error 1231(Não é possível alcançar o local da rede. Para obter informações sobre solução de problemas de rede, consulte a Ajuda do Windows.).

    Pode me ajudar???

    Obrigado
    Bene
    Benedito Santana - São Paulo/SP - Sua pergunta foi respondida ? Marque-a !
    quinta-feira, 21 de janeiro de 2010 13:14
  • Bene,

    faça um teste, no server acesso o Windows Explorer e tente acessar a pasta compartilhada, acredito que vc nao tem acesso a esta pasta partindo do server.

    - verifique se o compartilhamento tem acesso de escrita para o usuario do servico do sql
    - verifique se do servidor vc consege "pingar" a estacao com o compartilhamento.


    att,
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quinta-feira, 21 de janeiro de 2010 13:22
    Moderador
  • Olá Benê,

    Subestimar a inteligência do usuário é o primeiro ponto para falhas de segurança. Você poderia colocar um disco adicional no servidor, ou então, criptografar o arquivo de backup da sua aplicação para que as coisas não fiquem "tão fáceis".

    Para fazer o backup via rede é preciso garantir algumas coisas:

    - A Workstation e o servidor estão no mesmo domínio ou em domínios que tenham relação de confiança
    - A conta do serviço do SQL Server é uma conta de domínio (não vale System Account)
    - A conta do serviço do SQL Server tem permissões de escrita no compartilhamento da máquina onde o backup será escrito

    Para verificar o usuário da conta de serviço do SQL Server utilize o Configuration Manager do servidor onde está o Express.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A quantidade de linhas fala por si só ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!926.entry
    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 21 de janeiro de 2010 13:33
  • Marcelo,

    Consegui fazer o Backup no servidor, e usando o fileStrem copiar para máquina local, assim o gerente grava a midia.

    Gostaria de acrescentar uma verificação com o RESTORE VERIFYONLY, mas não consigui montar uma query que me retorne algum valor dizemdo se o arquivo de backup no servidor é válido ou não, você poderia me ajudar?

    Obrigado
    Bene

    Benedito Santana - São Paulo/SP - Sua pergunta foi respondida ? Marque-a !
    quinta-feira, 21 de janeiro de 2010 16:35
  • Bene,

    cara eu nao testei, mas talvez vc consiga fazer este tratamento de retorno usando o TRY CATCH..

    ex.

    BEGIN TRY
        RESTORE VERIFYONLY......

       print 'restore OK'
    END TRY
    TRY CATCH
       print 'erro no restore'

    END CATCH

    att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quinta-feira, 21 de janeiro de 2010 17:19
    Moderador