Compartir a través de


Registro de transacciones de escritura anticipada

En este tema se describe la función del registro de transacciones de escritura anticipada en la grabación de modificaciones de datos en disco. Para obtener información básica acerca de los registros de transacciones, vea Introducción a los registros de transacciones.

SQL Server 2005 usa el registro de escritura anticipada, que garantiza que no se escribirá en el disco ninguna modificación de los datos antes que la entrada de registro asociada. Así se mantienen las propiedades ACID para una transacción. Para obtener más información acerca de las transacciones y las propiedades ACID, vea Transacciones (motor de la base de datos).

Para entender cómo funciona el registro de escritura anticipada es importante saber cómo se escriben los datos modificados en el disco. SQL Server mantiene una caché de búfer que lee las páginas de datos cuando estos deben recuperarse. Las modificaciones de los datos no se escriben directamente en el disco, sino en la copia de la página que está en la caché del búfer. La modificación no se escribe en el disco hasta que se llega a un punto de comprobación en la base de datos o es necesario escribir la modificación en el disco para que el búfer pueda utilizarse para una nueva página. A la escritura en el disco de una página de datos modificada desde la caché del búfer se le llama vaciar la página. Una página modificada en caché, pero que todavía no se ha escrito en disco, se denomina página desfasada.

En el momento en que se efectúa la modificación en la página del búfer, se escribe una entrada de registro en la caché del registro para grabar dicha modificación. Esta entrada de registro se tiene que escribir en el disco antes de que la página desfasada asociada se vacíe de la caché del búfer al disco. Si la página desfasada se vacía antes de que se escriba el registro, creará una modificación en el disco que no se puede revertir si el servidor genera un error antes de que la entrada de registro se escriba en el disco. La lógica de SQL Server evita que una página desfasada se vacíe antes de que se escriba el registro asociado. Las entradas de registro se escriben en el disco cuando las transacciones se confirman.

Vea también

Otros recursos

Descripción y administración de registros de transacciones

Ayuda e información

Obtener ayuda sobre SQL Server 2005