2015-04-02 34 views
2

我一直在生產服務器中遇到性能問題;並在互聯網上閱讀它時,我碰到@Brent Ozar關於wait stats的文章。如何安全地清除等待狀態

我想嘗試一下,但我不確定它的運行有多安全。我的生產環境不斷被SSIS工作佔據,我不想殺死任何工作或服務器。所以,我有幾個問題

  • 是否安全時,查詢或SQL作業是在服務器

DBCC SQLPERF( 「sys.dm_os_wait_stats」,CLEAR)運行運行;

DBCC SQLPREF(「sys.dm_os_latch_stats」,CLEAR);

  • 是什麼更新的統計和結算等待統計數據之間的差異?

回答

2

清除等待狀態對SQL Server的性能沒有影響。它只會刪除與積累等待統計相關的信息。現在你應該有一個合理的理由去做,並且相信我在解決性能問題時經常遇到很多DBA和SQL Server用戶。唯一的問題是,你失去了有關等待統計資料的寶貴信息。但在清除等待狀態運行sys.dm_os_wait_stats之前,有一種方法可以解決它並獲取當前的等待狀態輸出,然後清除它並開始監視。至少在結算之前您會有統計數據。

•更新統計信息和清除等待統計有什麼區別?

它們兩者在任何方面都沒有關係。統計數據(您通過更新統計數據引用的數據)是數據分佈。 SQL Server數據是如何分發的,SQL Server在基數估計中使用這些數據,並幫助優化器爲查詢準備好成本基礎GOOD計劃。清除等待統計信息(有關查詢等待什麼資源的統計信息)不會影響SQL Server數據分佈統計信息。

+1

@Jan:我不明白你爲什麼刪除了答案的某些部分。這是必需的,你可以在答案中加上那個。我告訴OP他可以刪除它,但作爲一種失敗保護措施,他可以在清除之前獲得輸出。 – Shanky 2015-04-08 10:45:38