Stiamo provando a individuare l'origine di alcuni aggiornamenti imprevisti che si verificano su una tabella di SQL Server. Quello che mi piacerebbe fare è creare un trigger su quella tabella che monitora la colonna a cui siamo interessati e, quando si verificano gli aggiornamenti, scrivere alcune informazioni di controllo in una tabella separata.SQL Server: ottenere il nome dell'applicazione che causa un aggiornamento in un trigger
funziona perfettamente e bene per cose come il nome utente, la data, vecchi e nuovi valori colonne (dalle tabelle di trigger Inserted
e Deleted
) - ma mi piacerebbe di più :-)
In SQL Profiler, è possibile vedere il nome dell'app che è collegato a SQL Server nei profili - la parte che può essere definito nella stringa di connessione come Application Name
:
Data Source=(local);Initial Catalog=AdventureWorks;
Integrated Security=True;Application Name="My Application"
c'è un modo in una T-SQL FOR UPDATE
grilletto per arrivare a questo informazione?
Sheeesh !! Non può essere ** quello ** facile, Martin !! ;-) Ho setacciato tutti i valori di '@@ name' e non ho trovato nulla ...... –
Perfetto - grazie - è stato davvero * così facile! * :-) Tu vivi e impara .. .. –
@marc - Puoi anche ottenerlo da 'SELECT nome_programma da sys.dm_exec_sessions dove session_id = @@ SPID' ci potrebbero essere altre cose in là di interesse. –