# BACKUP DATABASE en SQL: cómo proteger tu base de datos contra la pérdida de datos

BACKUP DATABASE en SQL te permite crear una copia de seguridad de tu base de datos y guardarla en una ubicación de almacenamiento diferente. También puedes utilizar el comando WITH DIFFERENTIAL para guardar solo los cambios realizados después de la última copia de seguridad, ahorrando así espacio de almacenamiento y tiempo.

## ¿Qué es BACKUP DATABASE de SQL?

[Structured Query Language (SQL)](https://www.ionos.mx/digitalguide/servidores/know-how/que-es-sql/) es ideal para gestionar registros de datos muy sensibles y amplios que se pueden almacenar y gestionar de forma rápida y eficaz con la ayuda del lenguaje. Una herramienta importante para garantizar la seguridad de estos datos es la creación de un [backup](https://www.ionos.mx/digitalguide/servidores/seguridad/que-es-un-backup/) para bases de datos que ya están activas y en uso. De esta forma, te puedes proteger **contra la pérdida de datos o daños en el disco duro** y continuar trabajando con los datos almacenados sin interrupciones. Esta práctica es muy recomendable tanto para fines empresariales como privados. Con el comando BACKUP DATABASE de SQL puedes crear una copia de seguridad de este tipo en cuestión de segundos.

Es muy importante que guardes la copia de seguridad **en un disco duro diferente**, ya que es la única forma que tienes de garantizar que tus datos sigan estando disponibles en caso de que pierdas la base de datos original. Para ello, debes tener **suficiente espacio de almacenamiento** en el disco duro donde pretendes guardar la copia de seguridad. Puedes elegir entre una copia de seguridad completa ([full backup](https://www.ionos.mx/digitalguide/servidores/know-how/copia-de-seguridad-completa/)) y una copia de seguridad parcial ([differential backup](https://www.ionos.mx/digitalguide/servidores/know-how/copia-de-seguridad-diferencial/)). Te vamos a mostrar ambas opciones y sus diferencias.

## Sintaxis y funcionamiento

La sintaxis de BACKUP DATABASE en SQL es sencilla, solo requiere que introduzcas el nombre de la base de datos y la nueva ubicación de almacenamiento de la copia de seguridad:

```sql
BACKUP DATABASE nombre_de_la_base_de_datos
TO DISK = 'nueva_ubicación';
```

`nombre_de_la_base_de_datos` es el nombre de la base de datos de la que quieres crear una copia de seguridad. Con `TO DISK` especificas dónde almacenar la copia de seguridad.

## Ejemplo de uso del comando

Un ejemplo práctico de BACKUP DATABASE en SQL podría ser el siguiente:

```sql
BACKUP DATABASE ListaClientes
TO DISK = 'C:\copias_de_seguridad\nueva_copia_de_seguridad.bak';
```

## La copia de seguridad parcial con WITH DIFFERENTIAL

Si ya tienes una copia de seguridad y quieres actualizarla con los cambios más recientes, puedes utilizar el comando WITH DIFFERENTIAL, el cual no guarda todos los datos de nuevo, sino únicamente los cambios realizados **después de la última copia de seguridad**. WITH DIFFERENTIAL **ahorra tiempo y espacio de almacenamiento**, pues gran parte de la base de datos ya está guardada. Es importante almacenar la nueva copia de seguridad en la misma ubicación que la de la copia de seguridad original. Aquí tienes la sintaxis para hacer una copia de seguridad WITH DIFFERENTIAL:

```sql
BACKUP DATABASE nombre_de_la_base_de_datos
TO DISK = 'nueva_ubicación'
WITH DIFFERENTIAL;
```

Aplicado al ejemplo anterior, ejecutar BACKUP DATABASE junto con el [comando SQL](https://www.ionos.mx/digitalguide/servidores/configuracion/comandos-sql/) WITH DIFFERENTIAL tendría el siguiente aspecto:

```sql
BACKUP DATABASE ListaClientes
TO DISK = 'C:\copias_de_seguridad\nueva_copia_de_seguridad.bak'
WITH DIFFERENTIAL;
```

## Comandos similares a BACKUP DATABASE en SQL

Una alternativa a BACKUP DATABASE en SQL es un **Transaction Log Backup**, que registra todos los cambios desde el último Transaction Log Backup o desde la creación de la base de datos original. Permite restaurar la base de datos a un estado específico en cualquier momento. Su sintaxis es la siguiente:

```sql
BACKUP LOG nombre_de_la_base_de_datos
TO DISK = 'nueva_ubicación';
```

Aplicado al ejemplo anterior:

```sql
BACKUP LOG ListaClientes
TO DISK = 'C:\copias_de_seguridad\nueva_copia_de_seguridad.bak';
```

Si quieres restaurar una copia de seguridad, tienes que utilizar el comando **`RESTORE DATABASE`**. Esta es su sintaxis:

```sql
RESTORE DATABASE nombre_de_la_base_de_datos
FROM DISK = 'nueva_ubicación';
```

En RESTORE DATABASE no se especifica dónde debe activarse la copia de seguridad, sino la ubicación en la que se encuentra. En el ejemplo anterior, el comando sería el siguiente:

```sql
RESTORE DATABASE ListaClientes
FROM DISK = 'C:\copias_de_seguridad\nueva_copia_de_seguridad.bak';
```

Consejo Alto rendimiento y acceso rápido: si optas por el [Hosting SQL Server](https://www.ionos.es/cloud/sql-server-hosting "Hosting SQL Server de IONOS") de IONOS, siempre tendrás el mejor acceso posible a tus datos. Elige entre MSSQL, MySQL y MariaDB, y benefíciate de un servicio de asistencia personalizado.


This is a markdown version of: [https://www.ionos.mx/digitalguide/servidores/configuracion/sql-backup-database/](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-backup-database/) for AI/LLM consumption.