Principales respuestas
Error al realizar .bak desde aplicacion web MVC

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
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.
- Marcado como respuesta Jesús Espinoza viernes, 8 de mayo de 2015 19:38
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 -
-
podrias validar el application pool del sitio que creas en el iis
podrias validar que el usuario con el cual ejecuta tiene permisos para esta operacion
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
-
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.
- Marcado como respuesta Jesús Espinoza viernes, 8 de mayo de 2015 19:38
-
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.