2009-01-09 64 views
2

我需要確定特定的應用程序是否從SQL Server 2005作業運行。問題是我們用來發送數據的一個應用程序將掛起,導致調用它的任何後續作業出現問題。如果我也可以獲得CPU時間,那麼我可以確定它是否可能是一個掛起的進程。確定特定的Windows應用程序是否使用SQL Server 2005運行

正在運行的應用程序的列表是好的,但能夠查找特定的可執行文件名稱與CPU時間將是太棒了!

回答

0

我認爲最好的方法是運行SQL Server Profiler以及性能監視器並等待指定的作業運行。然後將perfmon統計信息導入分析器。您可以通過轉到文件 - >導入性能數據...並將其指向性能監視器日誌,從SQL Server分析器執行此操作。

您應該能夠選擇Process(all)計數器,爲您提供所有正在運行的進程的列表,以及獲取進程的CPU時間。然後,您可以將它與Profiler日誌中的application name和/或hostname關聯起來,以瞭解發生了什麼。

+0

在後臺持續運行探查器來檢測,這不是在生產環境內一個有效的解決方案。 – 2009-01-09 14:26:49

+0

如果您可以足夠好地在探查器上使用過濾器,那麼負載對於服務器來說不是那麼重要。您還可以在指向生產SQL Server的另一臺服務器上運行分析器,以進一步減輕負載。 – 2009-01-09 14:40:03

0

嘗試打開SQL Server活動監視器。您還可以從存儲的proc sp_who2中獲取一些信息。

0

讓作業運行外部腳本(批處理文件,KSH腳本)而不是TSQL腳本。

1

由作業步驟啓動的任何應用程序將顯示爲由與SQL Server代理程序相同的登錄帳戶運行。爲不會用於任何其他服務的SQL Server代理使用特定的服務帳戶。這可以讓你監視使用任務管理器,性能監視器等工作啓動的應用程序。

相關問題