Sie sind auf Seite 1von 7
 
 
SQL Server: cómo hacer copias de seguridad directamente en unidades de red
 
José Manuel Alarcón Aguín
 
 
SQL SERVER: CÓMO HACER COPIAS DE SEGURIDAD DIRECTAMENTE EN UNIDADES DE RED
Nivel: Intermedio
 
por
José Manuel Alarcón Aguín
 Generalmente, lo que más nos interesa a la hora de realizar copias de seguridad es hacerlas hacia alguna máquina o dispositivo especializado de la red local, distintos a la máquina en la que se ejecuta nuestra aplicación o -en nuestro caso concreto- el servidor de datos. Así podremos recuperarlos desde cualquier otra máquina ante cualquier contingencia que surja. En los Data Center (y en muchas oficinas) suelen existir sistemas NAS (
, almacenamiento en red) cuyo propósito es precisamente albergar las copias de seguridad. SQL Server, sin embargo, sólo ofrece soporte nativo para realizar copias de seguridad en unidades de disco o dispositivos de backup hardware locales. Esto siempre me ha parecido una seria limitación, ya que hacer copias de seguridad en local no me resulta útil en absoluto. Y tiene muchas limitaciones más (como no comprimir o cifrar las copias), aunque esto es bueno para las empresas que venden herramientas especializadas en ello, como la excelente SQL Backup de
Red Gate Software
. Lo que muchos hemos hecho toda la vida ha sido lo siguiente: haces el backup en una carpeta local y programas, un tiempo prudencial después, la ejecución de un archivo .bat que mueva la copia a una unidad de red usando comandos del sistema operativo. Esto funciona pero añade complejidad ya que hay que coordinar ambas acciones y hay más puntos de fallo. Además hay una cuestión adicional que a mí ya me ha ocurrido en servidores viejos: si el disco local no tiene espacio suficiente no puedes hacer copias de seguridad (no te caben), cuando a lo mejor tienes cientos de GB libres en el NAS que no puedes aprovechar :-( Lo ideal sería hacer la copia directamente en el NAS sin pasar por el disco local. En este artículo voy a contar cómo podemos conseguir precisamente esto:
hacer backups de SQL Server directamente a la red
. Además cuento cómo conseguir un backup diario, con
un archivo para día de la semana
, que se van sobrescribiendo automáticamente, por lo que conseguimos de manera sencilla una retención de 7 días. Las instrucciones que doy a continuación funcionan con SQL Server 2005 y 2008, y las he sacado a base de prueba y fallo durante bastante tiempo. No he encontrado en Internet instrucciones algunas que contemplen esta operación por completo, sobre todo en lo referente a los pequeños detalles (como la seguridad) que hacen que llegue a funcionar.
1.- Cuenta de ejecución de SQL Server
Lo primero que tenemos que hacer es asegurarnos de que nuestro sistema SQL Server va a tener acceso a la red local. Tanto el motor de bases de datos como el agente de SQL Server se ejecutan suplantando a un determinado usuario del sistema operativo.
 
 Mucha gente instala SQL Server para que sus servicios se ejecuten bajo la cuenta de sistema, ya que ésta tiene acceso a cualquier recurso del sistema local, y simplifica la gestión. Esto, aparte de un posible problema de seguridad (en el que no voy a entrar en este texto), no es necesario en absoluto. Además hay una cuestión fundamental: la cuenta de sistema no tiene capacidades para acceder a la red. Por lo tanto si nuestro servidor de datos se ejecuta bajo System no podremos realizar copias de seguridad a unidades de red. La cuenta recomendada para ejecutar SQL Server y conseguir acceso a la red es "Servicio de Red" (o, en inglés, "Network Service"). Esta cuenta tiene los permisos suficientes para ejecutar SQL Server sin problema y además nos sirve para nuestro propósito. Lo podemos cambiar desde la configuración de Servicios de SQL Server, en las propiedades de cada servicio:
Figura 1.- Propiedades del servicio Agente de SQL Server
Si las copias de seguridad las vamos a hacer escribiendo el comando desde el SQL Management Studio, esta cuenta debemos asignarla al motor de SQL Server. Si, como es más común, las copias de seguridad serán automatizadas con el agente de SQL Server, es este servicio el que debe ejecutarse con una cuenta con acceso a la red. En cualquier caso (y sin ser La cuenta de sistema no tiene capacidades para acceder a la red. Network Service, sin embargo, sí nos sirve para nuestros propósitos.

Ihre Neugier belohnen

Alles, was Sie lesen wollen.
Jederzeit. Überall. Auf jedem Gerät.
Keine Verpflichtung. Jederzeit kündbar.
576648e32a3d8b82ca71961b7a986505