SQL Server - Ligne 100 - Trace utilisateur
Modérateurs: Super-Apogea, Super Modérateur
11 messages
|Page 1 sur 1
SQL Server - Ligne 100 - Trace utilisateur
Bonjour à tous,
Du nouveau sur le forum, bishr nous a enfin trouvé comment récupérer le user Sage d'une session.
Ca valait bien un gros coup de pub et une publication dans la section savoir-faire !
Bonne journée
Du nouveau sur le forum, bishr nous a enfin trouvé comment récupérer le user Sage d'une session.
Ca valait bien un gros coup de pub et une publication dans la section savoir-faire !
Bonne journée
"L'expérience est le nom que chacun donne à ses erreurs." (O. Wilde)
Qualité et précision de la question conditionnent celles de la réponse.
Et si on gagnait TOUS du temps ? Menu "?", A propos de
Qualité et précision de la question conditionnent celles de la réponse.
Et si on gagnait TOUS du temps ? Menu "?", A propos de
Re: SQL Server - Ligne 100 - Trace utilisateur
Bonjour ...
Pas de souci ... Il faut publier ...
Si d'autres questions ... ne pas hésiter ...
J'ai plein de procédure sous le coude !!
Bonne journée ...
Pas de souci ... Il faut publier ...
Si d'autres questions ... ne pas hésiter ...
J'ai plein de procédure sous le coude !!
Bonne journée ...
Soyez réalistes : demandez l'impossible
Re: SQL Server - Ligne 100 - Trace utilisateur
Bonjour,
@BISHR : bien vu, on attend tous les autres procédures !!!!
@OokieDookie : merci pour le 'UP' sur ce message.
Cdt,
@BISHR : bien vu, on attend tous les autres procédures !!!!
@OokieDookie : merci pour le 'UP' sur ce message.
Cdt,
ASR31
En recherche de missions.
En recherche de missions.
Re: SQL Server - Ligne 100 - Trace utilisateur
- Code: Tout sélectionner
--Table permettant de stocker les connexions
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TraceUserSession]') AND type in (N'U'))
DROP TABLE [dbo].[TraceUserSession]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TraceUserSession](
[spid] [int] NULL,
[UserSage100] [nvarchar](max) NULL,
[UserWindows] [nvarchar](max) NULL,
[TypeCnx] [nchar](10) NULL,
[CreatorCnx] [nchar](10) NULL
) ON [PRIMARY]
GO
--Trigger permettant d'alimenter la table "TraceUserSession" avec les nouvelles connexions
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[TRC_CIAL_USERSESSION]'))
DROP TRIGGER [dbo].[TRC_CIAL_USERSESSION]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TRC_CIAL_USERSESSION]
ON [dbo].[F_PROTECTIONCIAL]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
Declare @marqueur smallint, @userSage100 varchar(max), @userWindows varchar(max)
Declare @typeCnx varchar(max), @creatorCnx varchar(max)
If (Select count(*) From TraceUserSession Where spid=@@spid)=0
Begin
Select @marqueur = cbMarq From Inserted
Select @userSage100 = PROT_USER From F_PROTECTIONCIAL Where CbMarq = @marqueur
Select @userWindows=RTrim(nt_domain) + '\' + RTrim(nt_username) From sys.sysprocesses Where spid=@@spid
Select @typeCnx=CB_Type, @creatorCnx=CB_Creator from cbUserSession Where cbSession=@@spid
Insert Into TraceUserSession(spid, UserSage100, UserWindows, TypeCnx, CreatorCnx)
Values(@@spid,@userSage100,@userWindows,@typeCnx,@creatorCnx)
End
END
GO
Dernière édition par rachcompte le Mer 9 Oct 2013 13:36, édité 1 fois.
- Posteur néophyte
- Messages: 4
- Inscription: Lun 28 Mai 2012 11:51
Re: SQL Server - Ligne 100 - Trace utilisateur
- Code: Tout sélectionner
--Table permettant de stocker les connexions
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TraceUserSession]') AND type in (N'U'))
DROP TABLE [dbo].[TraceUserSession]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TraceUserSession](
[spid] [int] NULL,
[UserSage100] [nvarchar](max) NULL,
[UserWindows] [nvarchar](max) NULL,
[TypeCnx] [nchar](10) NULL,
[CreatorCnx] [nchar](10) NULL
) ON [PRIMARY]
GO
--Trigger permettant d'alimenter la table "TraceUserSession" avec les nouvelles connexions
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[TRC_CIAL_USERSESSION]'))
DROP TRIGGER [dbo].[TRC_CIAL_USERSESSION]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[TRC_CIAL_USERSESSION]
ON [dbo].[F_PROTECTIONCIAL]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
Declare @marqueur smallint, @userSage100 varchar(max), @userWindows varchar(max)
Declare @typeCnx varchar(max), @creatorCnx varchar(max)
If (Select count(*) From TraceUserSession Where spid=@@spid)=0
Begin
Select @marqueur = cbMarq From Inserted
Select @userSage100 = PROT_USER From F_PROTECTIONCIAL Where CbMarq = @marqueur
Select @userWindows=RTrim(nt_domain) + '\' + RTrim(nt_username) From sys.sysprocesses Where spid=@@spid
Select @typeCnx=CB_Type, @creatorCnx=CB_Creator from cbUserSession Where cbSession=@@spid
Insert Into TraceUserSession(spid, UserSage100, UserWindows, TypeCnx, CreatorCnx)
Values(@@spid,@userSage100,@userWindows,@typeCnx,@creatorCnx)
End
END
GO
- Posteur néophyte
- Messages: 4
- Inscription: Lun 28 Mai 2012 11:51
Re: SQL Server - Ligne 100 - Trace utilisateur
Bonjour,
Merci bishr pour le script. Ca marche
J'ai essayer de l'utiliser avec des triggers sur f_docentete et f_docligne pour savoir qui a modifie les documents. Mais le souci c'est que sur la meme session windows, deux utilisateurs sage peut se connecter. Dans ce cas le spid des deux utilisateurs sage sera le meme! Donc difficile de tracer lequel des deux a fait des modifications.
Quelqu'un a une idee comment contourner ce probleme?
Merci pour votre contribution.
kervb
Merci bishr pour le script. Ca marche
J'ai essayer de l'utiliser avec des triggers sur f_docentete et f_docligne pour savoir qui a modifie les documents. Mais le souci c'est que sur la meme session windows, deux utilisateurs sage peut se connecter. Dans ce cas le spid des deux utilisateurs sage sera le meme! Donc difficile de tracer lequel des deux a fait des modifications.
Quelqu'un a une idee comment contourner ce probleme?
Merci pour votre contribution.
kervb
OokieDookie a écrit:Bonjour à tous,
Du nouveau sur le forum, bishr nous a enfin trouvé comment récupérer le user Sage d'une session.
Ca valait bien un gros coup de pub et une publication dans la section savoir-faire !
Bonne journée
- Posteur néophyte
- Messages: 4
- Inscription: Ven 21 Oct 2011 14:39
Re: SQL Server - Ligne 100 - Trace utilisateur
Bonjour,
Je ne pense pas que le SPID soit le même ....
Cordialement,
Je ne pense pas que le SPID soit le même ....
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
Re: SQL Server - Ligne 100 - Trace utilisateur
Pour avoir utilisé le même type de script, il suffit à la connexion de faire un lien entre l'utilisateur SYSTEM du sql avec l'identifiant de connexion Sage.
Après, il suffit de faire appel à cette table dans les triggers sur UPDATE/INSERT/DELETE por F_DOCENTETE et F_DOCLIGNE.
De là à savoir qui est derrière le clavier .... à part la vidéo
Cordialement
Après, il suffit de faire appel à cette table dans les triggers sur UPDATE/INSERT/DELETE por F_DOCENTETE et F_DOCLIGNE.
De là à savoir qui est derrière le clavier .... à part la vidéo
Cordialement
- Posteur néophyte
- Messages: 5
- Inscription: Ven 15 Mai 2015 15:58
Re: SQL Server - Ligne 100 - Trace utilisateur
Ce script est effectivement fort utile pour connaître l'utilisateur SAGE et peut être amélioré en supprimant de la table les informations inutiles concernant les anciennes sessions. D'autre part, ne serait-il pas moins compliqué d'utiliser le champ cbSession de la table cbUserSession pour identifier l'utilisateur SAGE ?
En tout cas merci pour tout !
En tout cas merci pour tout !
- Posteur néophyte
- Messages: 1
- Inscription: Sam 5 Nov 2011 17:51
Re: SQL Server - Ligne 100 - Trace utilisateur
Bonjour,
je réponds suite à la consultation de ce sujet, car j'aurais une question annexe sur le même thème :
est-ce qu'on peut retracer dans SQL SERVER 2008 et + le traitement des reports à nouveau ainsi que le temps de traitement de la comptabilité SAGE gérée sous SQL SERVER ?
- version SQL SERVER : 2008 R2 et +
- version comptabilité SAGE : 16 et +
merci d'avance pour vos retours
cordialement,
M. NARBONE
je réponds suite à la consultation de ce sujet, car j'aurais une question annexe sur le même thème :
est-ce qu'on peut retracer dans SQL SERVER 2008 et + le traitement des reports à nouveau ainsi que le temps de traitement de la comptabilité SAGE gérée sous SQL SERVER ?
- version SQL SERVER : 2008 R2 et +
- version comptabilité SAGE : 16 et +
merci d'avance pour vos retours
cordialement,
M. NARBONE
- Posteur néophyte
- Messages: 18
- Inscription: Lun 6 Jan 2014 13:30
Re: SQL Server - Ligne 100 - Trace utilisateur
@Narbonne,
Bonjour :
Aucun rapport avec le choucroute à mon avis...
Plutôt ouvrir un nouveau POST pour ta demande.
Sinon, Il est toujours possible, coté SQL, de faire une trace de ce qui se passe (voir SQL Profiler)
Cordialement,
Bonjour :
Aucun rapport avec le choucroute à mon avis...
Plutôt ouvrir un nouveau POST pour ta demande.
Sinon, Il est toujours possible, coté SQL, de faire une trace de ce qui se passe (voir SQL Profiler)
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
11 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité