sql server - ver - El archivo de registro para la base de datos está lleno
ver log sql server (13)
Scott, como habrás adivinado: truncar el registro es un mal movimiento si te importan tus datos.
Los siguientes videos gratuitos le ayudarán a ver exactamente lo que está sucediendo y le mostrarán cómo solucionar el problema sin truncar los registros. (Estos videos también explican por qué es un truco tan peligroso y por qué está en lo cierto al buscar otra solución).
- Copias de seguridad de SQL Server desmitificadas
- SQL Server Logging Essentials
- Comprender las opciones de copia de seguridad
Juntos, estos videos lo ayudarán a comprender exactamente lo que está sucediendo y le mostrarán si desea cambiar a la recuperación SIMPLE, o si realmente busca cambiar sus rutinas de respaldo. También hay algunos videos adicionales que le mostrarán exactamente cómo configurar sus copias de seguridad para garantizar la disponibilidad mientras se administra el tamaño y el crecimiento de los archivos de registro.
Entonces, nuestro SQL Server 2000 me da el error: "El archivo de registro para la base de datos está lleno. Haz una copia de seguridad del registro de transacciones de la base de datos para liberar algo de espacio de registro".
¿Cómo hago para solucionar esto sin borrar el registro como otros sitios han mencionado?
Información adicional: Habilitar crecimiento automático está habilitado para crecer un 10% y está restringido a 40 MB.
éter realiza una copia de seguridad de los registros de su base de datos con regularidad si necesita recuperar hasta el último minuto u otras cosas divertidas como el envío de registros en el futuro, o establecer la base de datos en modo simple y reducir el archivo de datos.
NO copie, cambie el nombre ni elimine el archivo .ldf; esto dañará su base de datos y, una vez que se haya recuperado de esto, es posible que tenga datos en un estado incoherente que lo invalidará.
Bueno, podría tomar una copia del registro de transacciones, luego truncar el archivo de registro, que es lo que sugiere el mensaje de error.
Si el espacio en disco está lleno y no puede copiar el registro en otra máquina a través de la red, conecte una unidad a través de USB y cópielo de esa manera.
Eche un vistazo aquí: http://support.microsoft.com/kb/272318
Mi amigo que se enfrentó a este error en el pasado recomienda:
Tratar
- Copia de seguridad de la base de datos. El plan de mantenimiento incluye el truncamiento de estos archivos.
- También intente cambiar el ''modo de recuperación'' para que el DB sea simple (en lugar de completo, por ejemplo)
Causa: el registro de transacciones se hincha debido a los eventos que se registran (Tal vez tiene un número de transacciones que fallan y se están volviendo a retroceder ... o un pico repentino en las transacciones en el servidor)
Para vaciarlo:
backup log <dbname> with truncate_only
Para guardarlo en alguna parte:
backup log <dbname> to disk=''c:/somefile.bak''
Si realmente no necesita el historial transaccional, intente configurar el modo de recuperación de la base de datos en simple.
Renombrarlo. p.ej:
old-log-16-09-08.log
Entonces el servidor SQL puede usar uno nuevo vacío.
Si no es un uso de entorno de producción
dump tran <db_name> with no_log;
Una vez que esto haya terminado, reduzca el archivo de registro para liberar espacio en el disco. Finalmente, cambie el modo de recuperación de la base de datos a simple.
Tan pronto como realiza una copia de seguridad completa de la base de datos, y la base de datos no utiliza el modelo de recuperación Simple, SQL Server mantiene un registro completo de todas las transacciones realizadas en la base de datos. Hace esto para que, en caso de una falla catastrófica en la que pierda el archivo de datos, pueda restaurarlo hasta el punto de falla respaldando el registro y, una vez que haya restaurado una copia de seguridad de datos anterior, restaure el registro para reproducir el archivo perdido actas.
Para evitar esta acumulación, debe realizar una copia de seguridad del registro de transacciones. O bien, puede romper la cadena en el punto actual utilizando las opciones TRUNCATE_ONLY o NO_LOG de BACKUP LOG.
Si no necesita esta característica, establezca el modelo de recuperación en Simple.
Usted tiene la respuesta en su pregunta: haga una copia de seguridad del registro, luego se reducirá. Realice un plan de mantenimiento para respaldar regularmente la base de datos y no olvide seleccionar "Hacer una copia de seguridad del registro de transacciones". De esa forma lo mantendrás pequeño.
No creo que cambiar el nombre o mover el archivo de registro funcionará mientras la base de datos esté en línea.
Lo más fácil de hacer, IMO, es abrir las propiedades de la base de datos y cambiarla a Modelo de recuperación simple. luego reduzca la base de datos y luego regrese y establezca el DB en el modelo completo de recuperación (o en el modelo que necesite).
Cambiar el modo de registro obliga a SQL Server a establecer un punto de control en la base de datos, después de lo cual al reducir la base de datos se liberará el espacio sobrante.
Mi querido amigo, es muy importante que un DBA verifique su archivo de registro con bastante frecuencia. Porque si no le prestas mucha atención algún día, te dará este error.
Para ello, debe realizar una copia de seguridad periódicamente para que el archivo de registros no sufra dicho error.
Aparte de esto, la sugerencia dada anteriormente es bastante correcta.
Es posible que desee verificar la pregunta SO relacionada: