View Full Version : SQL Server TRACE


Ratax
21-01-2008, 15:40
Boas!

Estava a tentar aproveitar a funcionalidade TRACE do sql server para monitorizar uma base de dados (um determinado campo ou vários de uma dada tabela), para efeitos de auditing.
Até aqui tudo bem, até porque é para isso que ele também serve :002:

O problema é que necessitava de guardar o valor dos campos monitorizados, logo após a activação do TRACE com os devidos filtros, para uma possível comparação posterior no caso de haver alguma modificação.

Recorrendo exclusivamente ao TRACE, para não reinventar a roda, isto poderá ser feito?

Saudações.

TikkySimon
21-01-2008, 17:57
Penso que podes dizer q queres q o trace fique guardado num ficheiro.

Sintax:
sp_trace_create [ @traceid = ] trace_id OUTPUT
, [ @options = ] option_value
, [ @tracefile = ] 'trace_file'
[ , [ @maxfilesize = ] max_file_size ]
[ , [ @stoptime = ] 'stop_time' ]
[ , [ @filecount = ] 'max_rollover_files' ]

Não sei se é bem isto q pretendes... ou qual o modo q estás a fazer o trace

Ratax
21-01-2008, 18:18
Penso que podes dizer q queres q o trace fique guardado num ficheiro.

Sintax:
sp_trace_create [ @traceid = ] trace_id OUTPUT
, [ @options = ] option_value
, [ @tracefile = ] 'trace_file'
[ , [ @maxfilesize = ] max_file_size ]
[ , [ @stoptime = ] 'stop_time' ]
[ , [ @filecount = ] 'max_rollover_files' ]

Não sei se é bem isto q pretendes... ou qual o modo q estás a fazer o trace

Boas!

Obrigado pela tua resposta.
Eu sei que dá para enviar o resultado do trace para ficheiro, mas não é essa a minha dúvida.

Queria era saber, para além de tudo o que mando monitorizar nos filtros, como posso (se é que posso) guardar os valores dos campos monitorizados na altura que mando iniciar o trace, para mais tarde poder saber que valor tinha quando comecei o auditing e o valor actual, caso tenha sido modificado.

Saudações.

TikkySimon
22-01-2008, 12:16
Hum...sorry nao ter percebido logo isso... :P vou tentar ver isso também....se souber algo digo-te!!!

Zaonpt
22-01-2008, 12:38
isso não dá para fazer com um trigger?

Ratax
22-01-2008, 16:08
isso não dá para fazer com um trigger?

Sim dá, mas queria saber se o TRACE teria essa funcionalidade para não ter que recorrer a mais nada...