En la medida que crece la necesidad de auditar la actividad en nuestros servidores S!, revisamos qu "erramientas nativas traen las nuevas versiones del motor# $dicionalmente al %ro&iler '"erramienta cliente(, a las tra)as en *ac+,round 'del lado del servidor(, a los -M! tri,,ers . a la auditor/a de lo,in-ids, a0arecen en la versi1n 2002 de S! los --! tri,,ers, es decir tri,,ers que se dis0aran ante eventos de -ata -e&inition !an,ua,e 'create, dro0, alter(# E3isten --! tri,,ers que se 0ueden de&inir a nivel de servidor com0leto '0or la naturale)a del o*4eto que auditan, e4: creaci1n/alter/dro0 de un lo,in( o con un alcance de *ase de datos -0ara todas las 5-s# o 0ara al,una en 0articular-# Estos tri,,ers 0odr/an re,istrar in&ormaci1n 6til como 0ista de auditor/a como la cuenta 7indo8s de la session que lo reali)e, desde qu "ost, usuario de 5-, &ec"a, *ase, etc, tanto en una ta*la que se "a.a creado 0ara tal &in , como tam*in escri*ir el evento en el Error lo, de S! . en el $00lication !o, del Event 9ie8er, que 0odr/a ser atra0ado 0or M:M, si esta o0ci1n est; m;s acorde a c1mo tra*a4an en tu or,ani)aci1n# $c; "a. una ta*lita con res0ecto a lo que "a*l;*amos de los eventos que 0ueden ca0turarse . su alcance, que se 0uede encontrar en los 5oo+s 2002: %ara &acilitar la de&inici1n tam*in es 0osi*le de&inir eventos en &orma ,lo*al, es decir 0or ,ru0os# %or e4em0lo si uno quiere re,istrar la actividad de --! relacionada con una *ase de datos, no es necesario de&inir un tri,,er --! 0ara las ta*las 0or un lado, 0ara las vistas 0or otro, otro tri,,er 0ara de&inici1n-alter- dro0 de stored 0rocedures# Se de&ine un solo tri,,er 0ara toda la *ase de datos '--!<-$=$5$SE<!E9E!<E9E>=S(: !a si,uiente es la lista de los ?event ,rou0s@ donde muestra claramente qu eventos ,ru0ales en,lo*an su*eventos: 9amos a"ora 0or unos e4em0los# El 0rimero es de --! tri,,er con sco0e de todo el Servidor S!# En el mismo se ,ra*a un mensa4e en el !o, de S! . en el $00lication !o, de 7indo8s, donde a0arece como Source: MSS!SEA9EA . E9E>=: 1B0C1# CAE$=E =ADEEEA servertri,,er :> $!! SEA9EA F:A --!<!:ED><E9E>=S $S -EC!$AE Gdata HM! -EC!$AE GMESS$EE varc"ar'222( -EC!$AE Gcomando varc"ar'222( -EC!$AE GIsuario >9$ACJ$A'100( -EC!$AE GServer >9$ACJ$A'100( SE= Gdata K E9E>=-$=$'( SE= GIsuario K SLS=EM<ISEA SE= GServer K GGservername SE!EC= G comandoK E9E>=-$=$'(#value'M'/E9E>=<D>S=$>CE/Event=.0e( N1OM,Mnvarc"ar'ma3(M( P E9E>=-$=$'(#value'M'/E9E>=<D>S=$>CE/:*4ect>ame(N1OM,Mnvarc"ar'ma3(M( SE!EC= GMESS$EE K M--! en SEA9EA: M P GServer P MQM P GIsuario P MQM P Gcomando EHEC master#d*o#30<lo,event 20001, GMESS$EE, in&ormational E: $"ora vamos 0or un e4em0lo a nivel *ase de datos# En este caso se ,ra*a un re,istro en una ta*la creada 0ara tal &in . tam*in se escri*e en !o,s# Se utili)a un evento ,lo*al 0ara ca0turar cualquier actividad de --l que ocurra en la *ase# ISE N*ase3O E: CAE$=E =ADEEEA Nddlen*ase3O :> -$=$5$SE F:A --!<-$=$5$SE<!E9E!<E9E>=S $S -EC!$AE Gdata HM! -EC!$AE GMESS$EE varc"ar'222( -EC!$AE G-5>$ME >9$ACJ$A'128( -EC!$AE GIsuario >9$ACJ$A'100( -EC!$AE Gcomando >9$ACJ$A'128( SE= G-5>$ME K -5<>$ME'( SE= Gdata K E9E>=-$=$'( SE= GIsuario K SLS=EM<ISEA SE= Gcomando K Gdata#value'M'/E9E>=<D>S=$>CE/=S!Command(N1OM, Mnvarc"ar'2000(M( D>SEA= --!<lo, 'Fec"a, !o,in, Isuario, Evento, Sentencia( 9$!IES 'EE=-$=E'(, C:>9EA='nvarc"ar'100(, SLS=EM<ISEA(, C:>9EA='nvarc"ar'100(, CIAAE>=<ISEA (, Gdata#value'M'/E9E>=<D>S=$>CE/Event=.0e(N1OM, Mnvarc"ar'100(M(, Gdata#value'M'/E9E>=<D>S=$>CE/=S!Command(N1OM, Mnvarc"ar'2000(M( ( SE!EC= GGMESS$EE K M--! en *ase de datos: M P G-5>$ME P MQM P GIsuario P MQM P Gcomando EHEC master#d*o#30<lo,event 20001, GGMESS$EE, in&ormational E: