Bestem, om et bestemt Windows-program kører ved hjælp af SQL Server 2005

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal afgøre, om en bestemt applikation kører fra et SQL Server 2005-job. Problemet er, at et af vores applikationer, vi bruger til at sende data, vil hænge, ​​hvilket giver problemer med eventuelle efterfølgende job, der påberåber det. Hvis jeg også kan få CPU-tiden, kan jeg afgøre, om det er sandsynligvis en hangproces.


En liste over kørende applikationer ville være god, men det kunne være fantastisk at kigge på et bestemt eksekverbart navn med CPU-tiden.

Bedste reference


Enhver applikation, der lanceres af et jobtrin, vil vise sig at blive kørt af samme logonkonto som SQL Server Agent. Brug en bestemt servicekonto til SQL Server Agent, som ikke vil blive brugt til andre tjenester. Dette vil gøre det muligt at overvåge programmer, der startes fra et job ved hjælp af Task Manager, Performance Monitor osv.

Andre referencer 1


Prøv at åbne SQL Server Activity Monitor. Du kan også få nogle af oplysningerne fra den lagrede proc sp\_who2.

Andre referencer 2


Har jobbet kørt et eksternt script (batch-fil, KSH script) i stedet for et TSQL script.

Andre referencer 3


Jeg synes, at den bedste tilgang er at køre SQL Server Profiler samt præstationsskærm og vente på det angivne job at køre. Indfør derefter perfmon-statistikken i profiler. Du kan gøre dette fra SQL Server profiler ved at gå til File-> Import Performance Data ... og pege på dine Log på Performance Monitor.


Du bør kunne vælge Process(all) tælleren for at give dig en liste over alle igangværende processer, samt at få CPU-tid til processerne. Du kan derefter korrelere dette til application name og/eller hostname fra Profiler-logfilerne for at se, hvad der foregår.

Andre referencer 4


Jeg bruger (gratis) udskiftning til task manager 'Process Explorer' for at få et bedre kig på exe s og deres afhængigheder.


Det kan være værd at overvåge dit problem med dette.


http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx[4]