SelectEtoile : Base de connaissance SGBD

Mise en place Trace SPID

1

On peut imaginer vouloir tracer un login particulier (ex : logintoto).

Pour cela, il faut :

  • Créer une procédure stockée dans la 'default database' du login contenant la mise en place de la trace (ex ci-dessous)
  • Mise en place d'un nouveau role pour la trace (role trace_role, ex ci-dessous)
  • Mettre en place un trigger de login sur le login logintoto et pointant vers la procédure stockée créée (ex ci-dessous)
  • Pour vérifier que la trace est bien prise en compte, utiliser la procédure sp_helpapptrace.

 

Création du role trace_role :

create role trace_role

grant set tracing to trace_role

grant role to logintoto on trace_role

 

Exemple de procédure stockée :

create procedure ps_logintrigger_toto
as
-- Trace des ordres sql du spid
declare @v varchar(1000), @myspid int
set @myspid=@@spid
set @v="/tmp/hedge_trace_"+convert(varchar(10),@myspid)
set tracefile @v for @myspid
set show_sqltext on
go
EXEC sp_procxmode 'dbo.ps_logintrigger_toto', 'unchained'
go
IF OBJECT_ID('dbo.ps_logintrigger_toto') IS NOT NULL
    PRINT '<<< CREATED PROCEDURE dbo.ps_logintrigger_toto >>>'
ELSE
    PRINT '<<< FAILED CREATING PROCEDURE dbo.ps_logintrigger_toto >>>'
go
GRANT EXECUTE ON dbo.ps_logintrigger_toto TO public
go
grant execute on dbo.ps_logintrigger_toto to trace_role
go

 

Création d'un trigger de login(sur logintoto par exemple) :

sp_modifylogin logintoto,'login script',ps_logintrigger_toto

go

sp_modifylogin logintoto,'login script'   -- pour désactiver le trigger de login

go

 

 

Les options de trace possible :

  • set show_sqltext [on | off]

  • set showplan [on | off]

  • set statistics io [on | off]

  • set statistics time [on | off]

  • set statistics plancost [on | off]

  • set option show [normal | brief | long | on | off]

  • set option show_lop [normal | brief | long | on | off]

  • set option show_parallel [normal | brief | long | on | off]

  • set option show_search_engine [normal | brief | long | on | off]

  • set option show_counters [normal | brief | long | on | off]

  • set option show_managers [normal | brief | long | on | off]

  • set option show_histograms [normal | brief | long | on | off]

  • set option show_abstract_plan [normal | brief | long | on | off]

  • set option show_best_plan [normal | brief | long | on | off]

  • set option show_code_gen [normal | brief | long | on | off]

  • set option show_pio_costing [normal | brief | long | on | off]

  • set option show_lio_costing [normal | brief | long | on | off]

  • set option show_log_props [normal | brief | long | on | off]

  • set option show_elimination [normal | brief | long | on | off]

 

 

 

 

 

 

 

Ajouter un Commentaire


Code de sécurité
Rafraîchir