Je veux accomplir cela lorsque l'utilisateur "123" se connecte à l'application et modifie ensuite les données dans la base de données, que cette modification sera enregistrée dans une table miroir avec " 123 "dans une colonne supplémentaire. L'idée était d'écrire un déclencheur qui enregistre "inséré" ou "supprimé" dans la table miroir, mais le problème est que l'application utilise toujours le même utilisateur de base de données, donc j'ai besoin de connecter l'utilisateur de l'application avec la base de données en quelque sorte. Donc, mon idée était d'enregistrer @@ SPID avec l'utilisateur de l'application dans une table lorsqu'un utilisateur se connecte à l'application. Malheureusement, j'ai pensé que @@ SPID peut être différent pour chaque requête, même si j'utilise la même classe ADOConnection.SQL Server: journalisation des modifications de base de données basée sur l'utilisateur de l'application
Je ne peux pas non plus utiliser le nom d'application ou le nom d'hôte, car il se peut que différents utilisateurs sur le même serveur démarrent la même application et je devrais pouvoir différencier les changements du premier utilisateur des changements de seconde l'utilisateur a fait.
L'application est très volumineuse. Par conséquent, la mise à jour de chaque requête pour consigner manuellement les modifications n'est pas une option actuellement.
Existe-t-il une autre solution à ce problème?
similaire à https://stackoverflow.com/questions/648166/how-to-get-windows-log-in-user-name-for-a-sql-log-in-user – PacoDePaco
Sont vos utilisateurs du domaine usrs ? Voulez-vous connaître le compte de domaine d'un utilisateur qui se connecte au serveur à l'aide de la connexion SQL Server (via votre application)? – sepupic