locked
Backup RRS feed

  • Pergunta

  • Estou precisando automatizar o backup via T-SQL, mas quando executo o T-SQL está apresentando um erro de permissão (acesso negado!).
    Para realizar o backup tenho que liberar a permissao na pasta na mão, mas não gostaria que acontecesse isso, pois o software roda em vários clientes.

    Alguem conhece algum modo de realizar o backup em T-SQL com permissão para gravar no local informado?

    Estou utilizando o T-SQL:

    BACKUP DATABASE SysFarma to Disk = 'C:\Teste\backup.bak'

    Henrique Fávaro Tâmbalo - Se a resposta ajudou, marque como resposta!
    • Movido Gustavo Maia Aguiar quinta-feira, 4 de março de 2010 13:22 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 4 de março de 2010 13:02

Respostas

  • Bom Dia,

    Essa dúvida não está relacionada ao fórum "SQL Server - Desenvolvimento Geral" e por isso será movida para um fórum mais apropriado.

    Infelizmente como as permissões são em nível de SO não há como um comando TSQL automaticamente conceder a permissão. Se isso fosse possível teríamos vários problemas de segurança, pois, possibilitaria a possíveis invasores concederem permissões automaticamente.

    O que você pode fazer é utilizar uma BAT para conceder a permissão via comando NET e posteriormente executar o BACKUP no prompt via SQLCMD. Assim, se o usuário que rodar a BAT tiver permissões para conceder a permissão na pasta não haverá problemas.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 4 de março de 2010 13:22
  • Olá Henrique,

    É importante que a dúvida seja movida, pois, as buscas futuras podem referenciá-la no melhor forum possível.
    Por C# é uma opção, mas a BATCH também ficaria fácil.

    xcacls Diretorio\*.* /G Dominio\ContadeServicoDoSQL:F /E
    SQLCMD -E -S Servidor -Q "BACKUP DATABASE <>"

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 4 de março de 2010 13:46

Todas as Respostas

  • Bom Dia,

    Essa dúvida não está relacionada ao fórum "SQL Server - Desenvolvimento Geral" e por isso será movida para um fórum mais apropriado.

    Infelizmente como as permissões são em nível de SO não há como um comando TSQL automaticamente conceder a permissão. Se isso fosse possível teríamos vários problemas de segurança, pois, possibilitaria a possíveis invasores concederem permissões automaticamente.

    O que você pode fazer é utilizar uma BAT para conceder a permissão via comando NET e posteriormente executar o BACKUP no prompt via SQLCMD. Assim, se o usuário que rodar a BAT tiver permissões para conceder a permissão na pasta não haverá problemas.

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry
    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 4 de março de 2010 13:22
  • Gustavo,

    Muito obrigado pela a resposta, não precisa mover a dúvida. Vou tentar fazer isso através de C#
    Henrique Fávaro Tâmbalo - Se a resposta ajudou, marque como resposta!
    quinta-feira, 4 de março de 2010 13:28
  • Olá Henrique,

    É importante que a dúvida seja movida, pois, as buscas futuras podem referenciá-la no melhor forum possível.
    Por C# é uma opção, mas a BATCH também ficaria fácil.

    xcacls Diretorio\*.* /G Dominio\ContadeServicoDoSQL:F /E
    SQLCMD -E -S Servidor -Q "BACKUP DATABASE <>"

    [ ]s,

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

    Encontrando tabelas não utilizadas
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!957.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 4 de março de 2010 13:46