2010-05-18 74 views
0

我需要您的建議來跟蹤問題。SQL Server作業(存儲過程)跟蹤

我們在清晨運行數據加載作業,並將Excel文件中的數據加載到SQL Server 2005 db中。當作業在生產服務器上運行時,很多時候需要2到3小時才能完成任務。我們可以深入到一個佔總時間99%完成的工作步驟。

在分段環境(恢復同一生產數據庫)上運行作業步驟(存儲特效程序)需要9到10分鐘,而作爲作業的一部分在清晨運行時,生產服務器也需要數小時。生產服務器始終堅持在工作的一步。

我想在工作步驟上運行跟蹤(在作業步驟中,while循環中爲每個用戶運行約10個存儲過程)並收集信息以找出問題。

SQL Server 2005實現相同的方式有哪些?我只想爲這些SP運行跟蹤,而不是在生產服務器的某個時間段運行跟蹤,因爲跟蹤提供了大量信息,對於我(作爲不是DBA)來說,分析那麼多跟蹤信息並找出問題變得非常困難問題。所以我只想收集有關特定SP的信息。

讓我知道你的建議。

感謝您的時間和幫助。

謝謝。

回答

0

當時在服務器上發生的其他事情在其他服務器上更快但不是產品時很重要。也許你正在進入日常備份或維護統計或索引工作?

+0

當時只有數據加載作業正在發生(在特定間隔30個作業)。在此期間沒有安排其他事情。 – Jit 2010-05-19 03:10:26

1

使用SQL事件探查器。它允許您跟蹤大量事件,包括存儲過程,甚至將過濾器應用於跟蹤。

  • 創建一個新的跟蹤
  • 選擇只是存儲過程(RPC:已完成)
  • 檢查 「的TextData」 爲列讀
  • 單擊 「列篩選」 按鈕
  • 選擇 「的TextData」從左側導航
  • 展開「贊」樹視圖,然後鍵入您的過程名稱
  • 選中「排除不包含值的行」
  • 單擊「確定」,然後單擊「運行」
+0

明天我會試試這個。謝謝。 – Jit 2010-05-19 03:11:11

+0

非常感謝,這工作。 – Jit 2010-05-25 22:19:58