2011-03-17 4 views
14

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?

risposta

30
SELECT APP_NAME() 

+3

Sheeesh !! Non può essere ** quello ** facile, Martin !! ;-) Ho setacciato tutti i valori di '@@ name' e non ho trovato nulla ...... –

+0

Perfetto - grazie - è stato davvero * così facile! * :-) Tu vivi e impara .. .. –

+3

@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. –

0

Non è sicuro, ma è possibile registrare il nome del server se le applicazioni si trovano su più server? Potrebbe aiutare a restringere l'elenco delle applicazioni.

+0

Grazie - ma ho davvero bisogno del nome dell'app - questo funziona su un singolo server di database, quel nome non mi aiuterà .. –

0

Marc_S lo sP_whoIsActive stored procedure probabilmente risolverà i vostri problemi as posted here

e fa parte impressionante di T-SQL per la via

+0

Hai perso il tuo link. Credo che una nuova versione sia appena uscita (o stia uscendo molto presto) un collegamento a una versione è http://sqlblog.com/blogs/adam_machanic/archive/2010/10/21/who-is-active-v10 -00-dmv-monitoring-made-easy.aspx –

+0

Spiacente, ho modificato – luckyluke

+1

Link alla versione beta più recente e più grande dal feed Twitter di Adam Machanic http://sqlblog.com/files/folders/beta/entry34124.aspx –