none
User does not have permission to RESTORE database RRS feed

  • Pergunta

  • Olá estou tendo problema para meu aplicativo restaurar um banco de dados. Na instalação estou fazendo o seguinte:

    1. Conecto no banco master
    2. Restauro o banco de dados
      RESTORE DATABASE meuBanco FROM DISK = N'C:\Backup\meuBanco.bak' 
      WITH FILE=1, NOREWIND, NOUNLOAD, STATS = 1, REPLACE, 
      MOVE 'meuBanco'   TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.4\MSSQL\Data\meuBanco.mdf',
      MOVE 'meuBanco_log' TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.4\MSSQL\Data\meuBanco_log.ldf'
      
    3. Seleciono o banco de dados restaurado
    4. Crio o login para o usuário do banco
      CREATE LOGIN testeB WITH PASSWORD = '123'
      
    5. Crio o usuário do banco
      CREATE USER testeB FOR LOGIN testeB WITH DEFAULT_SCHEMA = dbo
      
    6. Adiciono o usuário como dono do banco
      sp_addrolemember 'db_owner','testeB'
      
    7. Adiciono o usuário como sendo operador de backup
      sp_addrolemember 'db_backupoperator','testeB'
      
    8. Seleciono o banco master
      use Master
      
    9. Adiciono permissão para criar qualquer banco de dados nesta instância.
      GRANT CREATE ANY DATABASE TO testeB
      

     

    Ainda quando preciso que o sistema restaure o banco de dados faço:

     

    1. Conecto no banco de dados do sistema (banco restaurado na instalação)
    2. Tento usar o comando de restauração
      RESTORE DATABASE meuBanco FROM DISK = N'C:\Backup\meuBanco.bak' 
      WITH FILE=1, NOREWIND, NOUNLOAD, STATS = 1, REPLACE, 
      MOVE 'meuBanco'   TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.4\MSSQL\Data\meuBanco.mdf',
      MOVE 'meuBanco_log' TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.4\MSSQL\Data\meuBanco_log.ldf'
      
    3. Aparece a mensagem "User does not have permission to RESTORE database"

    Porque diz que não tem permissão se foi adicionado permissão para operações de backup e para criar bancos de dados na instância? Se tento restaurar usando o usuário SA restaura sem problemas.


    Paulo Moreira
    • Movido Gustavo Maia Aguiar segunda-feira, 28 de março de 2011 21:19 (De:SQL Server - Desenvolvimento Geral)
    segunda-feira, 28 de março de 2011 21:11

Respostas

  • paulo3011, boa noite!

     

    Você necessita de um privilégio "Server ROLE" para conseguir restaurar o banco de dados.

     

    De permissão de DBCREATOR para seu usuário.

     

    Att,


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta paulo3011 segunda-feira, 28 de março de 2011 22:18
    segunda-feira, 28 de março de 2011 21:39
  • paulo3011, boa noite!

     

    Você necessita de um privilégio "Server ROLE" para conseguir restaurar o banco de dados.

     

    De permissão de DBCREATOR para seu usuário.

     

    Att,


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível


    Ok Luan, funcionou.

    No lugar de:

    9. Adiciono permissão para criar qualquer banco de dados nesta instância.

    GRANT CREATE ANY DATABASE TO testeB

    Usei:

    9. Adiciono permissão para criar e restaurar banco de dados nesta instância.

    sp_addsrvrolemember 'testeB', 'dbcreator'
    

     


    Paulo Moreira
    • Marcado como Resposta paulo3011 segunda-feira, 28 de março de 2011 22:18
    segunda-feira, 28 de março de 2011 22:18

Todas as Respostas

  • paulo3011, boa noite!

     

    Você necessita de um privilégio "Server ROLE" para conseguir restaurar o banco de dados.

     

    De permissão de DBCREATOR para seu usuário.

     

    Att,


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta paulo3011 segunda-feira, 28 de março de 2011 22:18
    segunda-feira, 28 de março de 2011 21:39
  • Olá Luan,

    Quais as permissões que DBCREATOR libera além de poder criar e restaura um banco de dados?


    Paulo Moreira
    segunda-feira, 28 de março de 2011 22:09
  • paulo3011, boa noite!

     

    Você necessita de um privilégio "Server ROLE" para conseguir restaurar o banco de dados.

     

    De permissão de DBCREATOR para seu usuário.

     

    Att,


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível


    Ok Luan, funcionou.

    No lugar de:

    9. Adiciono permissão para criar qualquer banco de dados nesta instância.

    GRANT CREATE ANY DATABASE TO testeB

    Usei:

    9. Adiciono permissão para criar e restaurar banco de dados nesta instância.

    sp_addsrvrolemember 'testeB', 'dbcreator'
    

     


    Paulo Moreira
    • Marcado como Resposta paulo3011 segunda-feira, 28 de março de 2011 22:18
    segunda-feira, 28 de março de 2011 22:18
  • Legal, paulo2011, sempre conte conosco!!

     

    Att,


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 28 de março de 2011 23:12