Principales respuestas
Error en backup full: Cannot open backup device.Operating system error 3(error not found)

Pregunta
-
Hola, tengo configurado un maintenance plan en sql server 2005 que realiza un Backup Database Full en una unidad de red mapeada en la máquina que alberga el sql server. Esta unidad es Z:
Me salen el siguiente error para todas las bases de datos:
Task detail:
Backup Database on Local server connection
Databases: All databases
Type: Full
Append existing
Error number: -1073548784
Error message: Executing the query "BACKUP DATABASE [master] TO DISK = N'Z:\\sqlserver2005\\master\\master_backup_200905070400.bak' WITH NOFORMAT, NOINIT, NAME = N'master_backup_20090507040001', SKIP, REWIND, NOUNLOAD, STATS = 10
" failed with the following error: "Cannot open backup device 'Z:\\sqlserver2005\\master\\master_backup_200905070400.bak'. Operating system error 3(error not found).
BACKUP DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
He comprobado que el usuario que lanza el servicio sql server tenga permisos sobre la ruta donde se hace la copia. Este usuario es Network Service. No he probado a cambiar el usuario que lanza el servicio porque de momento no quiero parar la base de datos. Tampoco sé si puedo utilizar ese usuario para hacer backups en una unidad de red.
La verdad es que no se me ocurre nada más que comprobar, el Operation System Error 3 (error not found) no me da muchas pistas...
Saludos,- Editado kiket jueves, 7 de mayo de 2009 8:15
jueves, 7 de mayo de 2009 8:14
Respuestas
-
Hola.Lo de las unidades mapeadas no suele dar muy buen resultado, ya que a veces se vinculan a una sesión de un usuario y esto es un servicio. Utiliza mejor rutas absolutas (\\filer\...).Alberto López Grande.
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator jueves, 7 de mayo de 2009 8:28
- Marcado como respuesta Gustavo LarrieraModerator jueves, 10 de septiembre de 2009 19:19
jueves, 7 de mayo de 2009 8:28Moderador
Todas las respuestas
-
Hola.Lo de las unidades mapeadas no suele dar muy buen resultado, ya que a veces se vinculan a una sesión de un usuario y esto es un servicio. Utiliza mejor rutas absolutas (\\filer\...).Alberto López Grande.
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator jueves, 7 de mayo de 2009 8:28
- Marcado como respuesta Gustavo LarrieraModerator jueves, 10 de septiembre de 2009 19:19
jueves, 7 de mayo de 2009 8:28Moderador -
Gracias qwalgrande, no había caído en eso. Al principio había gastado rutas absolutas, pero me dió error de permisos por lo del usuario que lanza el servicio, y me centré más ahí. Voy a configurarlo con rutas absolutas y mañana veré si ha dado resultado.
Saludos,jueves, 7 de mayo de 2009 8:47 -
Importante Microsoft recomienda no utilizar la cuenta de servicio de red para el servicio SQL Server o el servicio del Agente SQL Server. Las cuentas de usuario local o de usuario de dominio son más adecuadas para estos servicios de SQL Server.
Trata de configurar en cuanto puedas los servicios de SQL con cuentas específicas. Las mejores prácticas así lo recomiendan. Además de ser más seguro, es mucho más fácil administrar los permisos en un escenario como el tuyo.
Te dejo la fuente:
Configurar cuentas de servicio de Windows
http://msdn.microsoft.com/es-es/library/ms143504(SQL.90).aspx
Saludos!
Anwar Karlier - MCTS SQL 2005jueves, 7 de mayo de 2009 13:58 -
Gracias Karlier, lo tendré en cuenta.
Saludos,jueves, 7 de mayo de 2009 14:37 -
Bueno, el intento de backup de esta noche ha dado diversos resultados. Tengo 3 servidores con sql server 2005 y solo uno de ellos ha funcionado bien, después de cambiar las rutas de destino por rutas absolutas. Los códigos de error han cambiado, pero no he podido encontrar solución a esos errores por el famoso error not found. Pongo aquí los logs a ver si me podéis ayudar:
SERVER: SONGOHAN
TASK DETAIL: Backup Database on Local server connection
Databases: All databases
Type: Full
Append existing
ERROR NUMBER: -1073548784
ERROR MESSAGE: Executing the query "BACKUP DATABASE [master] TO DISK = N'\\\\videl.m2.org\\backups\\songohan\\sqlserver2005\\master\\master_backup_200905080400.bak' WITH NOFORMAT, NOINIT, NAME = N'master_backup_20090508040001', SKIP, REWIND, NOUNLOAD, STATS = 10
" failed with the following error: "Cannot open backup device '\\\\videl.m2.org\\backups\\songohan\\sqlserver2005\\master\\master_backup_200905080400.bak'. Operating system error 1326(error not found).
BACKUP DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Por si sirve de algo, esta tarea de backup intenta crear la carpeta de destino si no existe, y esta operación devuelve el error siguiente: Executing the query "EXECUTE master.dbo.xp_create_subdir N'\\\\videl.m2.org\\backups\\songohan\\sqlserver2005\\master'
" failed with the following error: "xp_create_subdir() returned error 123, 'The filename, directory name, or volume label syntax is incorrect.'". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Las rutas las he revisado varias veces y son correctas, de hecho he ido con el explorador a la carpeta y he hecho un copy-paste en el cuadro de la ruta destino.
En este servidor es Network Service quien ejecuta tanto el agente como el sql server, y ya le he dado permisos de escritura a este usuario a la carpeta de destino.
------------------------
SERVER: SONGOTEN
TASK DETAIL: Backup Database on Conexión de servidor local
Databases: All databases
Type: Full
Append existing
ERROR NUMBER: -1073548784
ERROR MESSAGE: Executing the query "BACKUP DATABASE [master] TO DISK = N'\\\\videl.m2.org\\backups\\songoten\\sqlserver2005\\master\\master_backup_200905080100.bak' WITH NOFORMAT, NOINIT, NAME = N'master_backup_20090508010001', SKIP, REWIND, NOUNLOAD, STATS = 10
" failed with the following error: "No se puede abrir el dispositivo de copia de seguridad '\\\\videl.m2..org\\backups\\songoten\\sqlserver2005\\master\\master_backup_200905080100.bak'. Error de sistema operativo 5(error not found).
Fin anómalo de BACKUP DATABASE.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Esta tarea también intenta crear el directorio de copia si no existe, y da el mismo error que el otro servidor: 'The filename, directory name, or volume label syntax is incorrect.' Aquí también he revisado las rutas, yendo a través del explorador y copiando la ruta absoluta de la barra de direcciones en el cuadro de texto de la ruta destino en la programación de la tarea.
En este servidor, el usuario que pone que ejecuta los servicios de sql es Local System, aquí no sé que usuario tengo que agregar a los permisos de la carpeta destino.
De momento no puedo reiniciar los servicios de sql server.
Saludos, y perdonar por el tocho!!!viernes, 8 de mayo de 2009 8:26 -
Hola.Lo que esté arrancado con Local System no puede interactuar con nada que esté fuera de la máquina. Hasta que puedas reiniciar, deberás (si puedes) hacer backup en local y copiarlo después. Una alternativa puede ser una tarea programada de Windows.En cuanto al otro servidor, mira también qué cuenta arranca el servicio de SQL Server Agent, que al apostre es el que ejecuta la tarea. Desde luego también tendrías que arrancarlo con una cuenta del dominio. Reiniciar este servicio no suele ser tan problemático con el de SQL Server, puede que tengas la posibilidad de probarlo más fácilmente.Alberto López Grande.
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator viernes, 8 de mayo de 2009 8:55
viernes, 8 de mayo de 2009 8:55Moderador -
Hola Alberto, era mi segunda opción programar un robocopy para que copiara la copia en local a la carpeta remota. El servicio SQL Server Agent lo arranca el mismo que el Sql Server, pero si es el agente el que ejecuta la tarea, supongo que lo puedo reiniciar sin problemas para cambiarle el usuario que lo lanzo. Lo voy a programar y el lunes veré que tal.
Graciasviernes, 8 de mayo de 2009 10:01 -
El viernes cambié el usuario que ejecuta el agente sql, ahora lo ejecuta el administrador. Pero me sigue dando los mismos fallos. Voy a programar un reinicio del servicio sql server esta noche para que cambie el usuario que lo ejecuta por administrador, antes de la copia, a ver si así accede a los recursos de red.lunes, 11 de mayo de 2009 7:49