How To: Crear copias de seguridad en SQL en Red o NAS

Las copias de seguridad (Backup) son importantes en toda gestión y de igual importancia en los Administradores de Base de Datos; el SQL Server te permite crear Backup (Copias de Seguridad) de manera Local (en la misma computadora) fácilmente; se complica algo cuando se intenta guardar en algún dispositivo de red o NAS, para ello voy a resumirle en 3 pasos, de lo que se tiene que hacer para poder realizar la copia de seguridad sin problemas en una carpeta compartida.

El SQL Server (Si se ha instalado como Servicio) se inicia en modo local (no depende del usuario de Windows o quien lo inicie), por lo que se tiene que cambiar a un usuario (de preferencia al usuario Administrador), éste usuario al que se personalice debe tener (crear) las credenciales para poder acceder a los entornos de red, de lo contrario se tendrá problemas al crear el Backup.

1.- Crear y guardar la credencial

1.1.-Inicio – Panel de Control – Cuentas de usuario – Administrador de credenciales

1.2.- Agregar una credencial de Windows

  • Ingresar la dirección de red (colocaré una IP, por ejemplo): 192.168.6.100
  • Nombre de Usuario (Usuario que tiene acceso a dicha carpeta compartida, por ejemplo): sistemas
  • Contraseña (La contraseña del usuario que tiene acceso al recurso compartido, por ejemplo): systems

Bastará con aceptar y luego visualizar en la lista la credencial creada y cuando fue Modificado.

2.- Cambiar el servicio del SQL como se inicia:

2.1.- Hay dos formas de hacerlo, ambas son igual de válidas:

2.1.a.- En ‘Ejecutar‘ escribir: services.msc

a.1.- Buscar el servicio “SQL Server (MSSQLServer)‘, click derecho propiedades, pestaña: ‘Iniciar sesión en‘,

Cambiar en ‘Como inicio de sesión en’: Cuenta del sistema local a Esta cuenta: (Escribir o darle en Explorar), escribir y confirmar la contraseña.

Log On SQL Server
Log On SQL Server

2.1.b.- En ‘Ejecutar‘ escribir: C:\Windows\SysWOW64\SQLServerManager10.msc

Login en Servicio SQL Manager
Login en Servicio SQL Manager

NOTA: El Servicio del SQL Server, como tal se sigue iniciando por más que se salga de la Sesión de Windows o se reinicie la computadora, lo que acabamos de hacer… es simplemente modificar se ejecute como el usuario Administrador, vinculado con las credenciales que tiene guardada.

3.- Ejecutar el Script

3.1.- Entrar a Microsoft SQL Server Management Studio, ejecutar su Script de copia de seguridad, indicando con ‘\\’ la ruta completa en red.

BACKUP DATABASE [MyBaseDatosPrueba] TO  DISK = N’\\192.168.6.100\Users\sistemas\Backups\MyBaseDatosPruebaDiario.bak’ WITH  INIT ,  NOUNLOAD ,  NAME = N’MyBaseDatosPrueba backup’,  NOSKIP ,  STATS = 10,  NOFORMAT

Tips:

  • Es preferible no confiarnos en la resolución de nombres, por lo que se ha colocado una dirección IP, de igual manera se trabajó en el Script para el SQL.
  • Puedes programarlo como un JOB para que se ejecute diariamente, en esta oportunidad NO hablaré como hacerlo, en las referencias dejo un Link como puedes programarlo, será tema de otra publicación si lo solicitan.
  • Se debe tener cuidado cuando se cambie las contraseñas tanto si se cambia en Usuario que ejecuta el Servicio del SQL (Administrador) o cuando se cambie la contraseña del recurso compartido (sistemas).
  • Lo más importante es que el usuario que inicia la SQL debe tener las credenciales creadas en Windows para que tenga accesos a esos recursos de lo contrario no se podrá crear las copias de seguridad desde el SQL Server.
  • Si se desea crearlo como un JOB (Trabajo) del SQL Server con varios pasos a la vez, hacerlo de manera correcta que se inicie en el 1er paso y se continúe con el siguiente de lo contrario no se ejecutará y será el problema del JOB.

Referencias:

5 opiniones en “How To: Crear copias de seguridad en SQL en Red o NAS”

  1. Muchas gracias Oscar!!! si funcionó!!!
    Mis dudas son respecto cuando se reinicie el servidor o se cierra sesion de windows, el servicio sqlserver seguirá activo?

  2. Oscar muchas gracias por compartir la información, si me permites la consulta, por que crees que se complican cuando se resuelven por los nombres, será la nomenclatura no exacta una de ellas?

    1. Los motivos podrían ser muchos, no es fácil de identificarlo, podría deberse a un duplicado en el nombre del equipo que éste causando conflicto, lo puedes comprobar mediante el comando: NBTSTAT -n o podría deberse en el tiempo de respuesta en el cache del servidor que comparte la resolución de nombres o saturación del mismo.

      Ésto NO sólo pasa en las resolución de nombres de Windows también en la resolución de nombres de Hostname en sistemas operativos Linux más que nada en los clientes Windows, que hace que se bloquee y se tiene que reiniciar el mismo Servidor DNS para que vuelva a reconocerlo. Aunque hay comandos que pueden ayudar en los clientes antes de reiniciar el equipo para vuelva a reconocerlo: Para ver que tienes resolución de nombres tienes: ipconfig/displaydns y para limpiarlo: ipconfig/flushdns desde el terminal de windows (CMD); para hacer lo mismo en un cliente Linux ejecutar: “sudo /etc/rc.d/init.d/nscd restart”.

      Para hacerlo que vuelva a reconocer el nombre del equipo en cuestión, antes de reiniciar el servidor de DNS, puedes probar por último grabarlo manualmente en el archivo c:\Windows\System32\drivers\etc\hosts del cliente Windows y con ello hacerlo que lo reconozca SI o SI el equipo que no encuentra (eso no es un procedimiento correcto, pero podría ayudarte antes de reiniciar el equipo que no se encuentra).

      Espero haberte ayudado, saludos.

Deja un comentario