DBA有什麼方法可以查看SQL Server 2000中長時間運行的查詢的執行計劃嗎?我知道如何使用fn_get_sql()來運行SQL。理論上,如果打開一個新連接並將環境標誌設置爲相同,它應該爲SQL生成相同的計劃。但是,我處於數據倉庫環境中,此查詢運行了12個小時,數據負載介於兩者之間,因此不能保證新計劃與舊計劃匹配。我只想知道服務器在做什麼。SQL Server 2000中當前正在運行的SQL語句的執行計劃
不,我當然不會殺死當前正在運行的語句,除非我能夠看到該計劃並確定我可以更好地使用索引和聯接提示。
更新: 我感覺如此接近,但我仍然認爲它可以完成。它絕對可以在2K5及更高版本中完成。如果查看syscacheobjects虛擬表,則每個緩存計劃都有對象標識。你可以在這些ID上調用sp_OA *方法,但不知道對象模型(這是專有的),我無法獲得任何地方。