Un registro de transacciones crece inesperadamente o se completa en SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 317375 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Si la opción de crecimiento automático se establece en Microsoft SQL Server 2005, SQL Server 2000 y SQL Server 7.0, pueden expandir automáticamente los archivos de registro de transacción.

Por lo general, el tamaño del archivo de registro de transacciones se estabiliza cuando puede contener el número máximo de transacciones que pueden transcurrir entre truncamientos de registro de transacción que activan los puntos de comprobación o copias de seguridad de registro de transacciones.

Sin embargo, en algunos casos que el registro de transacciones puede ser muy grande y ejecución queda sin espacio o punto de llenarse. Por lo general, recibirá el siguiente mensaje de error cuando un archivo de registro de transacciones estuviera agotando el espacio en disco disponible y no se puede expandir más tiempo:
Error: 9002 Gravedad: 17, estado: 2
El archivo de registro para la base de datos ' %. * ls' está lleno.
Si utiliza SQL Server 2005, recibirá un mensaje de error similar al siguiente:
Error: 9002, gravedad: 17, Estado: 2
El registro de transacciones de base de datos ' %. * ls' está lleno. Para conocer las razones espacio en el registro no se puede volver a utilizar, consulte la columna log_reuse_wait_desc de Sys.Databases
Además de este mensaje de error de SQL Server puede marcar las bases de datos como sospechosa debido a falta de espacio para expansión de registro de transacción. Para obtener más información acerca de cómo recuperarse de esta situación, vea el tema "Espacio en disco insuficiente" en los libros en pantalla de SQL Server.

Además, expansión de registro de transacciones puede producirse en las situaciones siguientes:
  • Un archivo de registro de transacciones de muy gran tamaño.
  • Las transacciones pueden producir un error y pueden empezar a restaurar.
  • Las transacciones pueden tardar mucho tiempo en completarse.
  • Puede experimentar problemas de rendimiento.
  • Se pueden producir bloqueos.

Más información

Expansión de registro de transacción puede producirse por cualquiera de las siguientes razones o escenarios.


Nota En SQL Server 2005, puede revisar la log_reuse_wait y log_reuse_wait_desccolumnas de la vista de catálogo sys.databases para determinar por qué no se reutiliza el espacio de registro de transacciones y por qué no se puede truncar el registro de transacciones.


Transacciones sin confirmar

Transacciones muy grandes

Operaciones: DBCC DBREINDEX y crear el índice de

Al restaurar desde copias de seguridad de registro de transacciones

Las aplicaciones cliente no procesan todos los resultados

Consulta el tiempo de espera antes de que un registro de transacciones termine la expansión y recibe mensajes de error de "Registro lleno" falsos

Transacciones sin duplicar

Información avanzada

El registro de transacciones para cualquier base de datos se administra como un conjunto de archivos de registro virtuales (VLF). SQL Server determina internamente en función del tamaño total del archivo de registro y el incremento de crecimiento que se utiliza cuando el registro se expande de tamaño de los archivos VLF. Un registro siempre se expande en las unidades de VLF completa y sólo podrá comprimir aquellos a un límite VLF. Un VLF puede estar en uno de estos tres estados: activo, recuperable y REUTILIZABLE.
  • Activo: la parte activa del registro comienza en el número de secuencia de mínimo del registro (LSN) que representa una transacción activa (sin confirmar). La parte activa del registro de termina en el LSN escritas por última vez. Se considera cualquier VLF que contengan cualquier parte del registro activo (el espacio no utilizado en el registro físico no es parte de cualquier VLF.) de active VLF.
  • Recuperable: la parte del registro que viene antes de la transacción activa más antigua es sólo necesaria para mantener una secuencia de copias de seguridad de registro para la recuperación.
  • REUTILIZABLE: si no mantiene copias de seguridad de registro de transacciones, o si usted ya se hizo backup el registro, SQL Server reutiliza VLF antes de la activa más antigua transacción.
Cuando SQL Server llega al final del archivo de registro físico, lo hará volver a utilizar ese espacio en el archivo físico mediante la emisión de una operación que CIRCUNDA volver al principio de los archivos. De hecho, SQL Server recicla el espacio en el archivo de registro que ya no es necesario para fines de recuperación o copia de seguridad. Si se mantiene una secuencia de copia de seguridad de registro, la parte del registro antes de la mínima LSN no se puede sobrescribir hasta que hacer copia de seguridad o truncar esas entradas del registro. Después de realizar la copia de seguridad, puede rodear con círculos de SQL Server vuelve al principio del archivo. Después de que SQL Server círculos atrás para empezar a escribir entradas del registro anterior en el archivo de registro, la parte reutilizable del registro de es, a continuación, entre el final del registro lógico y la parte activa del registro.

Para obtener más información, vea el tema "Arquitectura física del registro de transacciones" en los libros en pantalla de SQL Server. Además, puede ver un diagrama y una explicación al respecto en la página 190 de "Inside SQL Server 7.0" (Soukup, Ron. Inside Microsoft SQL Server 7.0, Microsoft Press, 1999) y también en las páginas 182 a 186 del "Inside SQL Server 2000" (Delaney, Kalen. Inside Microsoft SQL Server 2000, Microsoft Press, 2000).Bases de datos SQL Server 2000 y SQL Server 7.0 tienen la posibilidad de crecimiento automático y autorreducción. Puede utilizar estas opciones para ayudar a reducir o ampliar el registro de transacciones.

Para obtener más información acerca de cómo estos Opciones de puede afectar al servidor, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
315512Consideraciones para la configuración de crecimiento automático y autorreducción en SQL Server
Truncamiento de archivo de registro de transacciones se diferencia de la compresión del archivo de registro de transacción. Cuando SQL Server trunca un archivo de registro de transacciones, esto significa que se elimina el contenido de ese archivo (por ejemplo, las transacciones confirmadas). Sin embargo, si está viendo el tamaño del archivo desde una perspectiva de espacio de disco (por ejemplo, en el Explorador de Windows o mediante el comando dir ), cambiará el tamaño. Sin embargo, ahora se puede reutilizar el espacio dentro del archivo .ldf por las nuevas transacciones. Sólo cuando SQL Server se reduce el tamaño del archivo de registro de transacciones ¿ve realmente un cambio en el tamaño físico del archivo de registro.

Para obtener más información acerca de cómo reducir registros de transacciones, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
256650Cómo reducir el registro de transacciones de SQL Server 7.0
272318 Reducir el registro de transacciones en SQL Server 2000 con DBCC SHRINKFILE
Para obtener más información acerca de registro de transacciones de SQL Server 6.5 uso de, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
110139Causas SQL registro de transacciones se llene

Cómo buscar las consultas que consumen una gran cantidad de espacio de registro en SQL Server 2005

En SQL Server 2005, puede utilizar la vista de administración dinámica (DMV) de sys.dm_tran_database_transactions para localizar las consultas que consumen una gran cantidad de espacio en el registro. Las siguientes columnas de la sys.dm_tran_database_transactions DMV puede ser útil:
  • database_transaction_log_bytes_used
  • database_transaction_log_bytes_used_system
  • database_transaction_log_bytes_reserved
  • database_transaction_log_bytes_reserved_system
  • database_transaction_log_record_count
Puede consultar la columna sql_handle de la DMV para obtener el texto de la declaración real que consume mucha cantidad de espacio en el registro al sys.dm_exec_requests. Para ello, puede unirse a la sys.dm_tran_database_transactions DMV y el DMV sys.dm_tran_session_transactions en la columna de transaction_id y, a continuación, agregar una combinación adicional al sys.dm_exec_requests en la columna "session_ID".

Para obtener más información acerca de sys.dm_tran_database_transactions DMV, vaya a la Sys.dm_tran_database_transactions (Transact-SQL) Sitio Web de Microsoft Developer Network (MSDN).

Para obtener más información acerca de sys.dm_tran_session_transactions DMV, vaya a la Sys.dm_tran_session_transactions (Transact-SQL) Sitio Web de MSDN.

Para obtener más información acerca de la DMV al sys.dm_exec_requests, vaya a la al sys.dm_exec_requests (Transact-SQL) Sitio Web de MSDN.

Propiedades

Id. de artículo: 317375 - Última revisión: viernes, 12 de julio de 2013 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palabras clave: 
kbsqlsetup kbinfo kbmt KB317375 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 317375

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com