0
我有一個非常大的存儲過程超時。數據庫快照性能考慮因素
該過程更新大約15個不同的表。它也從相同服務器的不同數據庫中讀取數據。
我想重新創建環境,而不更改任何內容(更新/插入任何表中的數據)。
可以創建原始數據庫的快照並在那裏執行所有測試嗎?
我有一個非常大的存儲過程超時。數據庫快照性能考慮因素
該過程更新大約15個不同的表。它也從相同服務器的不同數據庫中讀取數據。
我想重新創建環境,而不更改任何內容(更新/插入任何表中的數據)。
可以創建原始數據庫的快照並在那裏執行所有測試嗎?
不。數據庫快照是隻讀的,因此該過程將無法執行任何操作。爲了重現問題,請系統的數據庫管理員爲您提供數據庫的備份。在你的開發/測試環境中恢復這個備份並分析那裏的問題。當您的proc從多個數據庫中讀取數據時,您還需要備份那些。理想情況下,開發/測試環境具有相同的硬件特徵(相同的CPU /緩存/內存/磁盤),但這通常是不可能的。
閱讀How to analyse SQL Server performance瞭解在獲得重新生成環境後必須查看的內容。確保你解決了實際問題,而不是由於硬件差異而在你的repro環境中發生的只有的問題。
作爲一個附註,大量的信息可以通過適當的監控從生產服務器非侵入性地收集。再次閱讀鏈接的文章。
+1大文章 – 2014-10-27 14:51:21