escribe una nica escritura de base de datos y tiene lo siguiente Nombre de la transaccin : Nombre de la transaccin que realiz la operacin de escritura. Nombre del dato : El nombre nico del dato escrito. Valor antiguo : El valor del dato antes de la escritura. Valor nuevo : El valor que tendr el dato despus de la escritura. Existen otros registros de bitcora especiales para grabar sucesos importantes durante el proceso de transaccin tales como : < T1, inicio > < T1, x, v1, v2 > < T1, commit > Es fundamental que siempre se cree un registro en la bitcora cuando se realice una escritura antes de que se modifique la base de datos. Tambin tenemos la posibilidad de deshacer una modificacin que ya se ha escrito en la base de datos, esto se realizar usando el campo del valor antiguo de los registros de la bitcora. Los registros de la bitcora deben residir en memoria estable como resultado el volumen de datos en la bitcora puede ser exageradamente grande. CREATE TABLE [dbo].[Bitacora] ( [BitacoraID] [int] IDENTITY (1, 1) NOT NULL , [EventType] [char] (14) NOT NULL , [Status] [int] NOT NULL , [EventInfo] [varchar] (1000) NOT NULL , [Usuario] [varchar] (20) NOT NULL , [Fecha] [smalldatetime] NOT NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[Bitacora] WITH NOCHECK ADD CONSTRAINT [DF_Bitacora_Usuario] DEFAULT (suser_sname()) FOR [Usuario], CONSTRAINT [DF_Bitacora_Fecha] DEFAULT (getdate()) FOR [Fecha] CREATE TRIGGER trig_tablabitacora ON TABLA FOR DELETE, INSERT, UPDATE AS BEGIN DECLARE @NUMERO INT INSERT INTO Bitacora (EventType,Status,EventInfo) exec sp_executesql NDBCC INPUTBUFFER( @i ), N@i int, @i=@@spid END