我在SQL Server 2005數據庫上運行了t-sql查詢,它假設運行4天,但是當我4天后檢查時發現機器突然關閉。所以我想跟蹤查詢發生了什麼,或者換句話說什麼是機器故障時查詢的狀態 有沒有一種機制來檢查這個在SQL Server上執行的查詢日誌
0
A
回答
1
做這樣的驗屍可能非常困難。但是,當關閉發生時,可能無法確定長時間運行的查詢的哪個部分處於活動狀態,重要的是嘗試找到問題的根本原因!
根據查詢寫入的方式,SQL將嘗試回滾未完成的任何SQL(或者如果使用了事務,則任何未提交的事務)。這將在服務器首次重新啓動時發生;如果你有任何想分析SQL事務日誌(yuck!)的副本。
在查看可能在關閉時運行的查詢部分之前,最好查看一下SQL日誌(我的意思是應用程序日誌,包含信息消息,時間戳等等,而不是SQL事務記錄一個給定的數據庫),尋找基本的事實,並可能發生錯誤信息,發生在關機前一段時間,這可能是問題的根源。還要檢查Windows事件日誌,因爲它們可能表明系統範圍內的異常情況可能是SQL關閉的原因或結果。
SQL事務日誌可以被「反編譯」並用於理解數據庫中容易更新/插入/刪除的內容,但是這種4天運行的信息可能埋得很深,很長,可能與無關的查詢。實際上,SQL日誌的磁盤空間不足可能會導致服務器變得不穩定(我期望能夠更好地處理這種情況,但如果問題驅動器也是系統驅動器,可能會發生不好的事情。 。)
最後,通過分析「4天長」的SQL腳本,可能可以通過腳本的各種副作用來推斷哪些部分已完成。除此之外,如果需要,此評論可能允許將數據庫置於一致狀態,或截斷腳本以排除已完成的部分,以準備完成工作的新運行。
相關問題
- 1. SQL Server - 查詢日誌?
- 2. 生成在數據庫上執行的SQL查詢日誌
- 3. SQL Server上的查詢執行有誤
- 4. SQL Server Compact Edition查詢日誌
- 5. 查詢執行時間與在SQL Server
- 6. 如何阻止某些SQL查詢在SQL Server 2008上執行
- 7. 在WP7.1 SQL Server CE數據庫上執行SQL查詢
- 8. SQL Server 2008 - 並行執行查詢
- 9. 獲取從SQL Server上的SSIS包執行的SQL查詢
- 10. SQL Server 2008日誌日誌
- 11. 如何在SQL Server 2008上執行SQL Server 2005生成的數據庫查詢?
- 12. 獲取在SQL Server上執行特定查詢的機器
- 13. Symfony 2和Doctrine:日誌SQL查詢執行時間
- 14. SQL - 在SQL查詢上執行SQL查詢
- 15. 問題執行SQL Server查詢
- 16. SQL Server查詢未完成執行
- 17. sql server 2008 - 需要查詢執行
- 18. SQL Server查詢執行計劃重建
- 19. 從文件執行sql server查詢
- 20. 錯誤執行SQL Server查詢
- 21. SQL Server查詢執行流程
- 22. SQL Server:執行哪些查詢?
- 23. 無法在SQL Server 2008 R2上執行(DELETE)查詢
- 24. SQL Server 2012查詢未在測試服務器上執行
- 25. SQL Server查詢日期發行
- 26. 如何自動每日執行查詢SQL Server?
- 27. 在sql server上SUM查詢
- 28. 在PHP上繼續執行SQL查詢
- 29. 在Hive上執行Spark SQL查詢
- 30. 在DataTable上執行sql查詢
實際上,我只是想識別當時正在運行的查詢,或者在機器停機之前停止了查詢。 磁盤空間不足是原因,因爲它所在的分區仍有100 GB空間 – paranjai 2009-10-05 06:24:02
您是否可以識別可能證明其完成或接近完成的查詢的任何副作用?最終,這將告訴你長時間運行的查詢是否完成。 – mjv 2009-10-05 06:28:34
沒問題,這是一個查詢生成排列,所以沒有辦法確定所有的排列生成 – paranjai 2009-10-05 10:18:13