Bonjour a TOUS

Dans le but d'assurer un audit sur un de mes tables du production afin que tout opération de type insert ,update ,delete soit tracer dans un deuxième table nommé Historqiue
pour cela j’utilise un déclencheur ci joint leur syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
USE [Gest_Seq]
GO
 
/****** Object:  Trigger [dbo].[trg_HistoricInsertion]    Script Date: 04/17/2015 15:50:17 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
 
 
/*
	Déclencheur	:	trg_HistoricInsertion
	Createur	:	J.L. Durand, F.R. Broussais
	Date		:	16/04/02
	Objet		: 	Insère un mouvement dans la table HISTORIQUE contenant les données sur la modification d'un enregistrement de la table PARAMETRE
				Les champs tracés (i.e. on affiche l'ancienne et la nouvelle valeur dans l'historique) sont :
					pa_valparam, pa_option1, pa_option2 et pa_observation
				Se déclenche en cas d'insertion, de modification ou de suppression dans la table PARAMETRE
				Le champ he_Mvt indique la nature de la mise à jour (Ajout, Modif, Supp)
 
	Object 		:  	Insert a record in HISTORIQUE table  containt data which have modify in PARAMETRE table.
				The fields lay out are pa_valparam,pa_option1,pa_option2 and pa_observation
				This trigger start on insert,update or detele record in PARAMETRE table		
				The field  he_Mvt gine the nature of update
    	Commentaire	: utilise la procédure stockée spSGM_GetUser
	Mise à jour	:	13/09/2004, FR BROUSSAIS : Pas de mise à jour si le nom de paramèter est NULL. Modif nécessaire suite à la mise à jour en cascade Sequence-->Parametre
*/
 
CREATE TRIGGER [dbo].[trg_HistoricInsertion] ON [dbo].[Parametre] 
FOR UPDATE, INSERT, DELETE
AS
DECLARE
@date 			datetime,
@IdSeq			int,
@IdSeq_alt		int,
@index			int,
@nomparam		varchar(30),
@newvalparam	             varchar(30),
@oldvalparam		varchar(30),
@newoption1		varchar(30),
@oldoption1		varchar(30),
@newoption2		varchar(30),
@oldoption2		varchar(30),
@newObs		varchar(255),
@oldObs		varchar(255),
@Mvt			varchar(10),
@User			varchar(20)
 
 
	SELECT @idseq = sq_idseq, @nomparam = pa_nomparam, @index= pa_index, 
		@oldvalparam=pa_valparam, @oldoption1=pa_option1, @oldoption2=pa_option2, @oldObs = pa_Observation
	FROM DELETED
 
	IF @index IS NULL
	BEGIN
		SET @Mvt= 'Ajout'
		SELECT @newvalparam= pa_valparam,@newoption1= pa_option1, @newoption2=pa_option2,
			@idseq = sq_idseq, @nomparam = pa_nomparam, @index= pa_index
	 	FROM INSERTED
	END
	ELSE
	BEGIN
		SELECT @newvalparam= pa_valparam,@newoption1= pa_option1, @newoption2=pa_option2,@newObs=pa_observation
		FROM INSERTED
		IF COLUMNS_UPDATED() >0
		BEGIN	-- Modification
			-- IF COLUMNS_UPDATED() &236 > 0 -- Calcul du &236 : 2^2 (ValParam) + 2^3 (Idx) + 2^5 (option1) + 2^6 (option2) + 2^7 (observation)
			-- Cette condition fonctionne bien mais pour l'instant on met à jour l'historique dans tous les cas... voir si c'est bien utile
				SET @Mvt='Modif'
		END
		ELSE	-- Suppression
		BEGIN
			SET @Mvt='Supp'
		END
	END
 
            -- Execution de la procédure stockée spSGM_GetUser avec retour de paramètre le nom du USER
            -- Execute de storeproc spSGM_GetUser with the user name in output parameter 
 
	EXECUTE spSGM_GetUser @user out
 
	IF @index IS NOT NULL
	BEGIN
INSERT INTO HISTORIQUE (
                    sq_idseq, pa_nomparam, pa_index, he_date, he_Mvt, pl_idpersonnel,
                    he_newvalparam, he_oldvalparam,he_newoption1, he_oldoption1, he_newoption2,he_oldoption2, he_newobservation, he_oldobservation, hostname)
             SELECT
                    @idseq, @nomparam, @index, getdate(),@Mvt, @User, 
                    @newvalparam, @oldvalparam, @newoption1, @oldoption1, @newoption2, @oldoption2, @newobs, @oldobs,(SELECT HostName FROM master..sysprocesses WHERE spid=@@SPID )
       END
 
	END
GO
c'est que je veux c'est de récupérer de plus la compte AD , existe t'il une DVM ou un table système dans lequel je peux l’interroger pour récupérer cette information

merci pour nos expert