♣Bitácoras:
En informática se refiere ha un archivo donde se van apuntando las incidencias y hasta que no esta en disco no se hacen efectivos los cambios. Es incremental porque se encuentra un archivo secuencial.
Nota: La bitácora serán al menos dos archivos secuenciales que al final de cada archivo apunta al siguiente. Además, la bitácora se respalda periódicamente en cinta u otro medios de almacenamiento durables(CDs, DVDs, etc.) para protegerse contra fallos catastróficos.
♣La estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora.
Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente :
- Nombre de la transacción : Nombre de la transacción que realizó la operación 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 después de la escritura.
♣Ejemplo del uso de bitácoras
/* Inicio de Codigo */
/* Tabla que va a monitorear */
CREATE TABLE [TABLA] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Nombre] [varchar] (20) NOT NULL
) ON [PRIMARY]
GO
/* Tabla Bitacora de Comandos */
CREATE TABLE [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) NULL ,
[Fecha] [smalldatetime] NULL
) ON [PRIMARY]
GO
/* Trigger de Monitoreo */
CREATE TRIGGER trig_tablabitacora
ON TABLA
FOR DELETE, INSERT, UPDATE
AS
BEGIN
DECLARE @NUMERO INT
INSERT INTO Bitacora (EventType,Status,EventInfo)
EXEC (‘DBCC INPUTBUFFER(‘ + @@SPID +’)’)
SET @NUMERO=@@IDENTITY
UPDATE BITACORA
SET Usuario=SYSTEM_USER,
Fecha=GETDATE()
WHERE BITACORAID=@NUMERO
END
GO
/* INSERTE REGISTROS */
/* BORRE REGISTRO QUE NO EXISTE */
DELETE TABLA
WHERE ID=4
GO
/* INSERTE UN REGISTRO */
INSERT TABLA
VALUES (‘Registro 1’)
GO
/* INSERTE 2 REGISTROS */
INSERT TABLA
VALUES (‘Registro 2’)
INSERT TABLA
VALUES (‘Registro 3’)
GO
/* BORRE 1 REGISTRO */
DELETE TABLA
WHERE ID=2
GO
SELECT * FROM BITACORA
GO
/* FIN DE CODIGO */
♣Tipos de bitácoras
Bitácoras de usuario: Usuario, password,depto,sistema,archivos, terminal,permisos.
Bitácora de archivos: Password,Dueño,Sistemas que lo usan,dominios,formatos,ubicacion
Catalogo de sistemas: Departamento,sistema,archivos,Terminal,Programas, Responsable.
Bitácora de errores: Tipo,programa,descripcion,hora,lugar,horario,fecha,archivo y sistema
Bitácora de uso: Fecha,usuario,sistema,permiso,terminal,registro,tipo de acceso, imagen vieja,imagen nueva.
Manuales de sistemas: Sistama,Departamento,Archivos,Procedimiento de uso,Nivel de sistematizacion y Automatización.