Si tenemos un tamaño de base de datos muy grande, existe la posibilidad de que sea por el archivo Log de la base de datos. En ese caso, podemos vaciar el archivo LDF para liberar el espacio.
Te recordamos que este procedimiento debe ser llevado a cabo por un técnico con conocimientos en las herramientas que se utilizan para la administración de bases de datos, ya que un mal procedimiento podría causar pérdida de información o afectar el rendimiento del sistema.
Los pasos a seguir son los siguientes:
- Comprobamos que modo de recuperación tiene la base de datos desde las propiedades de base de datos y lo apuntamos, que lo necesitaremos más adelante:
- En la misma ventana de propiedades, buscaremos el nombre del archivo de registro y también nos lo apuntaremos.
- Cambiamos la base datos al modo de recuperación "completo", para poder hacer el respaldo del registro de transacciones. Donde pone Kiwi indicamos la base de datos.
ALTER DATABASE Kiwi SET RECOVERY FULL; - Realizamos una copia de seguridad completa de la base de datos. Y si algo sale mal tenemos un respaldo. Donde pone Kiwi indicamos la base de datos, y en la ruta indicamos la ruta donde queremos guardar la copia de seguridad. Si no hay espacio en el disco de la ruta seleccionada, tendremos que indicar una ruta de otro disco.
BACKUP DATABASE Kiwi TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14\MSSQL\DATA\Kiwi_backup.bak'; - Realizamos una copia de seguridad del registro de transacciones. Igual que en el punto 1, Kiwi es el nombre de la base de datos y la ruta es donde guardaremos la copia. Si no hay espacio en el disco de la ruta seleccionada, tendremos que indicar una ruta de otro disco.
BACKUP LOG Kiwi TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14\MSSQL\DATA\Kiwi_log_truncado.trn'; - Cambiamos la base datos al modo de recuperación simple. Donde pone Kiwi indicamos la base de datos.
ALTER DATABASE Kiwi SET RECOVERY SIMPLE; - Truncamos el archivo de registro. Kiwi_log es el nombre del archivo de registro que apuntamos previamente, el 1 indica el tamaño al que queremos reducir el archivo en MB.
DBCC SHRINKFILE('Kiwi_log', 1); - Volver al modo de recuperación que hemos apuntado en el paso 1. Selecciona la query en función de si era Simple, Bulk-logged (registro masivo) o Full (completo). Donde pone Kiwi indicamos la base de datos:
ALTER DATABASE Kiwi SET RECOVERY SIMPLE;
ALTER DATABASE Kiwi SET RECOVERY BULK_LOGGED;
ALTER DATABASE Kiwi SET RECOVERY FULL;