Vous êtes sur la page 1sur 25

FACULTA DE INGENIERA, ARQUITECTURA Y

URBANISMO
Escuela De Ingeniera De Sistemas

AREA

:
ADMINISTRACION DE BASE DE DATOS

ALUMNOS:
Alcarrazo Ibaes Fredy
Farroan Valdera Ronal
Correa Torres Naun
Cervera Jimnez Fernando

DOCENTE:
OMAR SNCHEZ GUEVARA

Chiclayo, 22 de mayo de 2016

INDICE
1.

AUDITORIA EN SQL SERVER------------------------------------------------------------2


1.1

TCNICAS DE AUDITORA DE BASES DE DATOS SQL SERVER------------2

1.2

IMPLEMENTACION DE SQL Server. AUDITORIA-------------------------------3

1.3

ESPECIFICACIN DE AUDITORA DE SERVIDOR--------------------------------3

1.4

ESPECIFICACIN DE AUDITORA DE BASE DE DATOS-------------------------3

1.5

DESTINO---------------------------------------------------------------------------------4

1.6

REGISTROS Y TABLAS DE AUDITORA DE BASE DE DATOS-------------------4

1.7

REGISTROS DE AUDITORA DE SISTEMA DE ARCHIVOS----------------------4

1.8

PORQUE AUDITAR?-----------------------------------------------------------------4

1.8.1

CREAR UNA AUDITORIA DE SERVIDOR-----------------------------------5

1.8.2

ALTER SERVER AUDIT---------------------------------------------------------5

1.8.3

DROP SERVER AUDIT-------------------------------------------------------6

1.8.4

CREATE SERVER AUDIT SPECIFICATION---------------------------------6

1.8.5

ALTER SERVER AUDIT SPECIFICATION-----------------------------------6

1.8.6

DROP SERVER AUDIT SPECIFICATION------------------------------------6

1.8.7 CREAR UNA ESPECIFICACIN DE AUDITORA DE NIVEL DE BASE


DE DATOS-------------------------------------------------------------------------------------6
1.8.8

ALTER DATABASE AUDIT SPECIFICATION-------------------------------7

1.8.9

DROP DATABASE AUDIT SPECIFICATION---------------------------------7

1.8.10 COMO VER UN REGISTRO DE AUDITORIA-------------------------------7


2.

CREACION DE AUDITORIA----------------------------------------------------------10

3.

CREAR AUDIT DE SERVIDOR SQL----------------------------------------------------11

4.

USO DE TRIGGERS PARA AUDITAR BASES DE DATOS.--------------------------14

5.

4.1

Triggers:---------------------------------------------------------------------------------14

4.2

Auditora---------------------------------------------------------------------------------14

BIBLIOGRAFIA----------------------------------------------------------------------------21

1.AUDITORIA EN SQL SERVER


El objeto SQL Server Auditoria recopila una nica instancia de
acciones y grupos de acciones de la base de datos para su
supervisin. La auditora se realiza en el nivel de instancia de SQL
Server. Es posible tener varias auditoras por cada instancia de SQL
Server.
Cuando se define una auditora, se especifica la ubicacin para los
resultados generados. ste es el destino de la auditora. La
auditora se crea en un estado deshabilitado y no audita
automticamente ninguna accin. Una vez habilitada la auditora,
el destino de la auditora recibe los datos de la misma.

1.1
TCNICAS DE AUDITORA DE BASES DE DATOS
SQL SERVER
La auditora de bases de datos SQL Server no es usada
solamente para cumplir con requerimientos de conformidad.
Se ha vuelto necesaria para el anlisis de acciones de bases
de datos, soluciones de problemas y la investigacin de
actividades sospechosas y maliciosas. La auditora tambin
puede ayudar a evitar acciones inapropiadas de parte de los
usuarios como si tuviera un sistema CCTV en sus bases de
datos.
Hay muchas tcnicas de auditora de SQL Server:

Auditora manual puede ser creada para cumplir con


sus requerimientos especficos, pero consume tiempo y
es proclive a errores

Utilizar SQL Server Extended Events fcil de configurar,


un amplio rango de acciones puede ser auditadas, pero
no ofrece informacin acerca de qu se elimin/insert ni
tampoco valores antiguos y nuevos para actualizaciones;
una auditora detallada puede causar problemas de
desempeo

Usar desencadenadores de SQL Server fcil de


configurar, pero puede causar problemas de desempeo
en bases de datos de altas transacciones

Leer los registros de transacciones no hay captura de


datos adicional, ya que SQL Server ya sigue estos
cambios. Ms espacio de almacenamiento es necesario,
algunas de las acciones (como EXECUTEs) no son
auditadas

Usar SQL Server Profiler y traces de SQL Server flexible


y complejo. Es difcil leer y filtrar los registros

Cul es el correcto para usted depende de su ambiente, lo que


necesita auditar, dnde quiere almacenar las acciones
capturadas y la forma que quiere que tengan los reportes.

1.2

IMPLEMENTACION DE SQL Server. AUDITORIA

La auditora de SQL Server permite crear auditoras de


servidor, que pueden contener especificaciones de auditora
de servidor para los eventos de servidor, y especificaciones de
auditora de base de datos para los eventos de base de datos.
Hay varios niveles de auditora disponibles para SQL Server,
dependiendo de los requisitos normativos de cada
instalacin. SQL Server Audit proporciona las herramientas y
los procesos necesarios para habilitar, almacenar y ver
auditoras en varios objetos de servidor y de base de datos.
Puede registrar grupos de acciones de auditora en el servidor
por instancia, as como grupos de acciones o acciones de
auditora en la base de datos por base de datos. El evento de
auditora se producir cada vez que se encuentre la accin
auditable.

1.3 ESPECIFICACIN DE AUDITORA DE SERVIDOR


El objeto Especificacin de auditora de servidor pertenece a
una auditora. Puede crear una especificacin de auditora de
servidor por cada auditora, ya que ambos se crean en el
mbito de la instancia de SQL Server.
La especificacin de auditora de servidor recopila muchos
grupos de acciones de nivel de servidor generados por la
caracterstica Extended Events. Puede incluir grupos de
acciones de auditora en una especificacin de auditora de
servidor. Los grupos de acciones de auditora son grupos
predefinidos de acciones, que constituyen eventos atmicos
que tienen lugar en el Motor de base de datos. Estas acciones
se envan a la auditora, que las registra en el destino.

1.4
ESPECIFICACIN DE AUDITORA DE BASE DE
DATOS
El objeto Especificacin de auditora de base de datos tambin
pertenece a una auditora de SQL Server. Puede crear una nica

especificacin de auditora de base de datos para cada base de


datos de SQL Server y cada auditora.
La especificacin de auditora de base de datos recopila
acciones de auditora de nivel de base de datos generadas por
la caracterstica Extended Events. Puede agregar grupos de
acciones de auditora o eventos de auditora a una
especificacin de auditora de base de datos. Los eventos de
auditora son las acciones atmicas que puede auditar el motor
de SQL Server. Los grupos de acciones de auditora son grupos
predefinidos de acciones. Ambos estn en el mbito de la base
de datos de SQL Server. Estas acciones se envan a la auditora,
que las registra en el destino.

1.5

DESTINO
Los resultados de una auditora se envan a un destino, que
puede ser un archivo, el registro de eventos de seguridad de
Windows o el registro de eventos de aplicacin Windows. Los
registros se deben revisar y archivar peridicamente para
garantizar que el destino tiene espacio suficiente para escribir
registros adicionales.

1.6
REGISTROS Y TABLAS DE AUDITORA DE BASE
DE DATOS
Las bases de datos contienen algunos de los datos corporativos
ms confidnciale. Es esencial contar con los registros de
auditora de todas las consultas de las bases de datos para
entender quin ha accedido o cambiado los datos y cundo lo
ha hecho. Los registros de auditora de las bases de datos
tambin son tiles para entender cmo las aplicaciones utilizan
las bases de datos para optimizar las consultas. Algunas bases
de datos incluyen los registros de autora en los archivos,
mientras que otras permiten el acceso a las tablas de auditora
mediante SQL.

1.7 REGISTROS DE AUDITORA DE SISTEMA DE ARCHIVOS


Los datos confidenciales que no estn en bases de datos estn
en sistemas de archivos. En algunos sectores como el sanitario,
el mayor riesgo de prdida de datos son los registros de
consumidores en sistemas de archivos compartidos. Los
distintos sistemas operativos, las herramientas de terceros y las
tecnologas de almacenamiento ofrecen distintas opciones para
auditar el acceso de lectura de datos confidenciales en el nivel
de sistema de archivos. Estos datos de auditora son un origen

de datos esencial para supervisar e investigar el acceso a datos


confidenciales.

1.8

PORQUE AUDITAR?

A travs de esta funcionalidad se puede rastrear y registrar de


forma automtica los eventos que ocurren a nivel del servidor o
a nivel de la base de datos. Esto es posible a travs del uso del
objeto Audit.

1.8.1 CREAR UNA AUDITORIA DE SERVIDOR


State: Habilita o deshabilita la recopilacin de registros
por parte de la auditora para esta especificacin de
auditora.
USE master;
GO
-- crear la auditoria del servidor
CREATE SERVER AUDIT Payrole_Security_Audit
TO FILE ( FILEPATH =
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Perminir la auditoria de servidor
ALTER SERVER AUDIT Payrole_Security_Audit
WITH (STATE = ON) ;

1.8.2 ALTER SERVER AUDIT


Cambiar el Nombre de una Auditoria de Servidor
USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;

GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO

Cambiar el Destino de una Auditoria de Servidor


USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE=OFF)
WITH (QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO

1.8.3 DROP SERVER AUDIT


ALTER SERVER AUDIT HIPAA_Audit
STATE = OFF;
GO
DROP SERVER AUDIT HIPAA_Audit;
GO

1.8.4 CREATE SERVER AUDIT SPECIFICATION


CREATE SERVER AUDIT SPECIFICATION HIPPA_Audit_Specification
FOR SERVER AUDIT HIPPA_Audit
ADD (FAILED_LOGIN_GROUP);
GO

1.8.5 ALTER SERVER AUDIT SPECIFICATION


ALTER SERVER AUDIT SPECIFICATION HIPPA_Audit_Specification
FOR SERVER AUDIT HIPPA_Audit
DROP (FAILED_LOGIN_GROUP)
ADD (DATABASE_OBJECT_ACCESS_GROUP);
GO

1.8.6 DROP SERVER AUDIT SPECIFICATION


DROP SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification;

1.8.7 CREAR UNA ESPECIFICACIN DE AUDITORA DE


NIVEL DE BASE DE DATOS
USE master;
-- crear la auditoria del servidor
CREATE SERVER AUDIT Payrole_Security_Audit
TO FILE (FILEPATH=
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Perminir la auditoria de servidor
ALTER SERVER AUDIT Payrole_Security_Audit
WITH (STATE = ON) ;
---------------------------------------------USE AdventureWorks2012;
GO
-- Create database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT INSERT
ON HumanResources.EmployeePayHistory BY dbo)
WITH (STATE = ON);
GO

1.8.8 ALTER DATABASE AUDIT SPECIFICATION


ALTER DATABASE AUDIT SPECIFICATION HIPPA_Audit_DB_Specification
FOR SERVER AUDIT HIPPA_Audit
ADD (SELECT
ON Table1(Column1)
BY dbo)
WITH STATE = ON;
GO

1.8.9 DROP DATABASE AUDIT SPECIFICATION


DROP DATABASE AUDIT SPECIFICATION HIPAA_Audit_DB_Specification;

1.8.10 COMO VER UN REGISTRO DE AUDITORIA


SELECT*FROM sys.fn_get_audit_file('E:\MyAudit\NameAudit.sqlaudit',default,default);
---Proporciona informacion sobre el estado actual de la Auditoria
SELECT * FROM sys.dm_server_audit_status

En la tabla siguiente se describe el contenido del archivo de auditora


que puede devolver esta funcin.

Nombre de columna

Tipo

Descripcin

datetime2

Fecha y hora en la que se desencadena la accin


auditable. No acepta valores NULL.

sequence_number

int

Realiza un seguimiento de la secuencia de registros de


un nico registro de auditora que era demasiado
grande para caber en el bfer de escritura destinado a
las auditoras. No acepta valores NULL.

action_id

char(4)

Id. de la accin. No acepta valores NULL.

event_time

bit
succeeded

1 = correcto
0 = error

permission_bitmask

bigint

Indica si la accin que desencaden el evento se ha


llevado a cabo correctamente. No admite valores
NULL. Para todos los eventos que no sean los eventos
de inicio de sesin, esto slo notifica si la
comprobacin del permiso tuvo o no tuvo xito, no la
operacin.
En algunas acciones, este es el permiso que se
concedi, deneg o revoc.

bit
is_column_permission

1=
verdadero

Marcador que indica si ste es un permiso de nivel de


columna. No acepta valores NULL. Devuelve 0 si
permission_bitmask = 0.

0 = falso
session_id

int

Identificador de la sesin en la que se ha producido el


evento. No acepta valores NULL.

server_principal_id

int

Identificador del contexto de inicio de sesin en el que


se realiza la accin. No acepta valores NULL.

int

Identificador del contexto de usuario de la base de


datos en el que se realiza la accin. No acepta valores
NULL. Devuelve 0 si esto no es aplicable. Por
ejemplo, una operacin de servidor.

int

Entidad de seguridad de servidor en la que se realiza la


operacin GRANT/DENY/REVOKE. No acepta
valores NULL. Devuelve 0 si no es aplicable.

target_database_princi
pal_id

int

Entidad de seguridad de base de datos en la que se


realiza la operacin GRANT/DENY/REVOKE. No
acepta valores NULL. Devuelve 0 si no es aplicable.

object_id

int

database_principal_id

target_server_principa
l_id

Identificador de la entidad en la que se produjo la


auditora. Incluye lo siguiente:
Objetos de servidor

Bases de datos

Objetos de base de datos

Objetos de esquema

No acepta valores NULL. Devuelve 0 si la entidad es


el propio servidor o si la auditora no se realiza en un
nivel de objeto. Por ejemplo, la autenticacin.
class_type

char(2)

El tipo de entidad auditable en la que se produce la


auditora. No acepta valores NULL.

session_server_princi
pal_name

sysname

Entidad de seguridad de servidor para la sesin.


Admite valores NULL.

server_principal_nam
e

sysname

Inicio de sesin actual. Admite valores NULL.

server_principal_sid

varbinary

SID del inicio de sesin actual. Admite valores NULL.

database_principal_na
me

sysname

Usuario actual. Admite valores NULL. Devuelve


NULL si no est disponible.

target_server_principa
l_name

sysname

Inicio de sesin de destino de la accin. Admite


valores NULL. Devuelve NULL si no es aplicable.

target_server_principa
l_sid

varbinary

SID del inicio de sesin de destino. Admite valores


NULL. Devuelve NULL si no es aplicable.

target_database_princi
pal_name

sysname

Usuario de destino de la accin. Admite valores


NULL. Devuelve NULL si no es aplicable.

server_instance_name

nvarchar(12
0)

Nombre de la instancia de servidor donde se ha


producido la auditora. Se usa el formato
servidor\instancia estndar

database_name

sysname

El contexto de la base de datos en el que se produjo la


accin. Admite valores NULL. Devuelve NULL para
las auditoras que se realizan en el nivel de servidor.

schema_name

sysname

El contexto del esquema en el que se produjo la


accin. Admite valores NULL. Devuelve NULL para
las auditoras que se producen fuera de un esquema.
El nombre de la entidad en la que se produjo la
auditora. Incluye lo siguiente:
Objetos de servidor
Bases de datos
Objetos de base de datos
Objetos de esquema
Admite valores NULL. Devuelve NULL si la entidad
es el propio servidor o si la auditora no se realiza en
un nivel de objeto. Por ejemplo, la autenticacin.

object_name

sysname

statement

nvarchar(40
00)

Instruccin TSQL, si existe. Admite valores NULL.


Devuelve NULL si no es aplicable.

additional_informatio

nvarchar(40

La informacin nica que se aplica exclusivamente a

10

00)

un evento se devuelve como XML. Este tipo de


informacin est incluida en un pequeo nmero de
acciones de auditora.
Admite valores NULL. Devuelve NULL si el evento
no proporciona informacin adicional

file_name

varchar(260
)

Ruta de acceso y nombre del archivo de registro de


auditora del que procede el registro. No acepta
valores NULL.

audit_file_offset

bigint

Desplazamiento de bfer del archivo que contiene el


registro de auditora. No acepta valores NULL.

2.CREACION DE AUDITORIA
2.1

Nos vamos a la opcin de seguridad del servidor de


base de datos y elegimos la opcin

2.2

11

Elegimos la opcin New Audit (NUEVA AUDITORIA)

2.3

Damos nombre a nuestro Audit y posteriormente


en Audit destination elegimos la opcin

NOTA: No
apague la
laptop Vamos a la carpeta de Microsoft SQL Server en la
carpeta Audit vemos que el archivo de la

3. CREAR AUDIT DE SERVIDOR SQL


3.1 Damos un nombre a la auditoria especfica y en Audit seleccionamos la auditoria de
servidor creada anteriormente y seleccionamos el tipo de accin de la auditoria.

12

3.2 Aqu elegimos el nombre de nuestra Audit y la Bd.

13

3.3 La auditora de servidor se activ satisfactoriamente

3.4
Permitir/encender
de la base de
especifica

3.5 La auditora de base de datos especifica se activ satisfactoriamente

14

la auditoria
datos

15

4. USO DE TRIGGERS PARA AUDITAR BASES DE DATOS.


4.1

Triggers:
o Procedimiento que se ejecuta cuando se
cumple una condicin establecida al realizar una
operacin
Son usados para mejorar la administracin de la Base
de datos, sin necesidad de contar con que el usuario
ejecute sentencias de SQL determinadas para tal
efecto
o La estructura bsica de un trigger es:

Llamada de activacin: es la
sentencia que permite "disparar" el cdigo a
ejecutar.

Restriccin: es la condicin
necesaria para realizar el cdigo. Esta restriccin
puede ser de tipo condicional o de tipo nulidad.

Accin a ejecutar: es la
secuencia de instrucciones a ejecutar una vez que
se han cumplido las condiciones iniciales.

4.2

Auditora

La auditora de una instancia de SQL Server o de


una base de datos de SQL Server implica el seguimiento
y registro de los eventos que se producen en el sistema.
Hay varios niveles de auditora disponibles para SQL
Server, dependiendo de los requisitos gubernamentales
o los estndares de cada instalacin
Una auditora es la combinacin de varios
elementos en un nico paquete para un grupo especfico
de acciones de servidor o de base de datos
Los grupos de acciones de auditora son grupos
predefinidos de acciones. Ambos estn en el mbito de
la base de datos de SQL Server. Estas acciones se envan
a la auditora, que las registra en el destino.
4.2.1 Para crear una nueva especificacin de auditora
En el Explorador de objetos, expanda de
forma recursiva el nodo Seguridad hasta
Auditoras.
Haga clic con el botn secundario en
Auditoras y, a continuacin, haga clic en
Nueva auditora. Esto abre la pgina Crear
auditora.

16

4.2.2

En el campo Nombre de auditora, escriba


ServerAudit1.
En Destino de auditora, elija ApplicationLog en la
lista.
Haga clic en Aceptar para aceptar la
configuracin predeterminada y guardar la
nueva especificacin de auditora.
Para crear una especificacin de auditora de servidor

En el Explorador de objetos, haga


clic con el botn secundario en Especificaciones
de auditora de servidor y, a continuacin, haga
clic en Nueva especificacin de auditora de
servidor. Esto abre la pgina Crear especificacin
de auditora de servidor.

En el campo Nombre, escriba


AdventureworksServerAudit1.

Para Auditora de servidor, elija


ServerAudit1 en la lista.

En la cuadrcula de la tabla, haga


clic en la fila que viene precedida por el
asterisco (*). En Tipo de accin de auditora, elija
FAILED_LOGIN_GROUP en la lista.

Haga clic en Aceptar para guardar


la especificacin de auditora de servidor.

Expanda el nodo Auditoras y haga


clic con el botn secundario en ServerAudit1.
Haga clic en Habilitar auditora para iniciar la
auditora.
En el mantenimiento de unas Bases de Datos as se
presenta la estructura y est presente la Auditoria

La auditora implica registrar los


resultados del proceso de depuracin, hacer
revisiones sobre la integridad y racionalidad y
manejar excepciones.

La auditora debe incluir el manejo


de excepciones con el fin de resolver los
problemas de calidad de los datos.

La tarea de auditora debe incluir


revisiones de la integridad y la racionalidad

Los recursos humanos pueden ser


necesarios en las tareas de auditora durante las
fases de preparacin e integracin

17

18

19

Script 1:
Auditoria para verificar
alteracin de las tablas

la

creacin,

eliminacin

CREATE TABLE dbo.SchemaAudit (


AuditDate DATETIME NOT NULL,
UserName sysname NOT NULL,
[Event] sysname NOT NULL,
[Schema] sysname NULL,
[Object] VARCHAR(50) NULL,
[TSQL] NVARCHAR(MAX) NOT NULL,
[XMLEventData] XML NOT NULL);
Go
CREATE TRIGGER [SchemaAuditDDLTrigger] ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS
BEGIN
SET NoCount ON
DECLARE @EventData XML,
@Schema SYSNAME,
@Object SYSNAME,
@EventType SYSNAME,
@SQL VARCHAR(MAX)
SET @EventData = EventData()
SET @Schema = @EventData.value
('data(/EVENT_INSTANCE/SchemaName)[1]', 'VARCHAR(50)')
SET @Object = @EventData.value
('data(/EVENT_INSTANCE/ObjectName)[1]', 'VARCHAR(50)')
SET @EventType = @EventData.value
('data(/EVENT_INSTANCE/EventType)[1]', 'VARCHAR(50)')
INSERT SchemaAudit (AuditDate, UserName, [Event], [Schema],Object,
TSQL, [XMLEventData])
SELECT
GETDATE(),
@EventData.value('data(/EVENT_INSTANCE/UserName)[1]', 'SYSNAME'),
@EventType, @Schema, @Object,

20

@EventData.value('data(/EVENT_INSTANCE/TSQLCommand/CommandText
)[1]','VARCHAR(max)'),
@EventData
END
CREATE TABLE Test (
PK INT NOT NULL Primary Key,
Col1 VARCHAR(1)
);
GO
ALTER TABLE Test
DROP Column Col1
ALTER TABLE Test
ADD Col1 CHAR(1)
DROP TABLE Test

Script 2
create database empresa
go
use empresa
go
create table empleado(
idempleado int identity primary key,
datos varchar(30),
edad int)
go
create table empleado_audit(
idempleado int,
datos varchar(30),
edad int,
datos_modif varchar(30),
edad_modif int,
usuario varchar(50),
host varchar(50),
fechahora Datetime,
accion varchar(60))
go

21

Create trigger tr_audita_empleado on empleado


AFTER insert, update, delete
AS BEGIN
declare

@idemple

int,

@val_olddatos

varchar(100),

@val_newdatos

varchar(100), @val_oldedad int, @val_newedad int, @accion varchar(20)


select @idemple = idempleado from inserted
select @val_olddatos = datos from deleted
select @val_newdatos = datos from inserted
select @val_oldedad = edad from deleted
select @val_newedad = edad from inserted
if(exists(select * from inserted) AND exists(select * from deleted))
---CUANDO HAY UNA ACCION DE ACTUALIZAR SE TIENE QUE REALIZAR
UN DELETEC Y UPDATE
begin
set @accion = 'UPDATE'
if(@val_newdatos = @val_olddatos)
set @val_newdatos = null
if(@val_newedad = @val_oldedad)
set @val_newedad = null
insert

into

empleado_audit

values

(@idemple,@val_olddatos,@val_oldedad,@val_newdatos,@val_newedad,SUSER_NA
ME(),HOST_NAME(),GETDATE(), @accion)
end
else
BEGIN
if(exists(select * from inserted))
begin
set @accion = 'INSERT'
insert

into

empleado_audit

values

(@idemple,@val_newdatos,@val_newedad,null,null,SUSER_NAME(),HOST_NAME(
),GETDATE(), @accion)
end
else

22

begin
select @idemple = idempleado from deleted
set @accion = 'DELETE'
insert

into

empleado_audit

values

(@idemple,@val_olddatos,@val_oldedad,null,null,SUSER_NAME(),HOST_NAME(),
GETDATE(), @accion)
end
END
END
GO
select * from empleado
select * from empleado_audit
insert into empleado values ('Ronal Farroan Valdera', 30)
insert into empleado values ('Yon Diaz Perez', 25)
insert into empleado values('Hebert Farroan Amaya ', 30)
insert into empleado values ('Henrry Vazques Diaz',50)
--- Actualisamos update
update empleado set datos = 'Ronal Farroan Valdera' where idempleado=1
update empleado set edad = 18 where idempleado=1
-- eliminacio deletect
delete empleado where idempleado = 4

5.

BIBLIOGRAFIA

23

Libro:
Base de Datos Avanzado I. Lima: Cibertec.
SQL Server 2008: Administracin de una base de datos con SQL Server
Management Studio
Autor -> Jerome Gabillaud

Sitio WEB

https://technet.microsoft.com/es-es/library/cc280765(v=sql.105).aspx
https://msdn.microsoft.com/es-pe/library/cc280424.aspx
https://technet.microsoft.com/es-es/library/cc280563(v=sql.105).aspx
https://msdn.microsoft.com/es-pe/library/cc280386.aspx

24

Vous aimerez peut-être aussi