none
Error al realizar .bak desde aplicacion web MVC RRS feed

  • Pregunta

  • al querer realizar un respaldo de una base de datos en un server 2008 me sale el siguiente error

    No se puede abrir el dispositivo de copia de seguridad 'Ruta/NombreBd.bak'. Error de sistema operativo 5(Access is denied.).

    Fin anómalo de BACKUP DATABASE.

    no se si tenga que realizar una configuración extra en sql o dentro del mismo servidor

    viernes, 8 de mayo de 2015 0:35

Respuestas

  • Cuando haces un BACKUP DATABASE en SQL Server, el backup no se ejecuta con los parmisos de la aplicación que lanza la sentencia BACKUP, sino que se ejecuta con la cuenta del servicio SQL. Por lo tanto, para poder enviar el backup a "Ruta/NombreBd.bak", tienes que conceder permisos en esa Ruta para que sea escribible desde la cuenta del Servicio SQL (no desde la cuenta del pool de la aplicación MVC, ni tampoco desde una cuenta impersonada por la aplicación, a no ser que el SQL sea un Express rodando en modo "instancia de usuario"). Asegúrate de usar una cuenta absoluta y no relativa, ya que no se sabe de antemano cuál es el directorio actual del servicio SQL y por tanto es impredecible la ruta relativa.
    viernes, 8 de mayo de 2015 18:25

Todas las respuestas

  • hola

    esto sucedes cuando ejecutas desde el VS, o cuando lo haces una vez publicado en el IIS ?

    porque recuerda que un sitio web ejecuta impersonado con un usuario, que es el que se define en el Application Pool si este no tiene permisos es logico que obtengas ese mensaje

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 8 de mayo de 2015 11:00
  • ok amigo gracias, y no me pudieras orientar un poco del como hacer esta configuración para poder realizar este proceso sin ningún problema?
    viernes, 8 de mayo de 2015 15:45
  • podrias validar el application pool del sitio que creas en el iis

    imagen

    podrias validar que el usuario con el cual ejecuta tiene permisos para esta operacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 8 de mayo de 2015 17:03
  • Amigo gracias por la información pero al parecer no funciono :/
    viernes, 8 de mayo de 2015 17:29
  • Cuando haces un BACKUP DATABASE en SQL Server, el backup no se ejecuta con los parmisos de la aplicación que lanza la sentencia BACKUP, sino que se ejecuta con la cuenta del servicio SQL. Por lo tanto, para poder enviar el backup a "Ruta/NombreBd.bak", tienes que conceder permisos en esa Ruta para que sea escribible desde la cuenta del Servicio SQL (no desde la cuenta del pool de la aplicación MVC, ni tampoco desde una cuenta impersonada por la aplicación, a no ser que el SQL sea un Express rodando en modo "instancia de usuario"). Asegúrate de usar una cuenta absoluta y no relativa, ya que no se sabe de antemano cuál es el directorio actual del servicio SQL y por tanto es impredecible la ruta relativa.
    viernes, 8 de mayo de 2015 18:25
  • Gracias amigo, aunque no me ayudo por completo tu respuesta, si me ayudó, dándome la pauta para saber como buscar la información para poder solucionar mi problema, y de antemano gracias.

    Dejo el siguiente en lace el cual me ayudó, para quien lo ocupe.

    https://msdn.microsoft.com/es-mx/library/jj219062.aspx

    viernes, 8 de mayo de 2015 21:42