2014-10-27 58 views
0

我有一個非常大的存儲過程超時。數據庫快照性能考慮因素

該過程更新大約15個不同的表。它也從相同服務器的不同數據庫中讀取數據。

我想重新創建環境,而不更改任何內容(更新/插入任何表中的數據)。

可以創建原始數據庫的快照並在那裏執行所有測試嗎?

回答

1

不。數據庫快照是隻讀的,因此該過程將無法執行任何操作。爲了重現問題,請系統的數據庫管理員爲您提供數據庫的備份。在你的開發/測試環境中恢復這個備份並分析那裏的問題。當您的proc從多個數據庫中讀取數據時,您還需要備份那些。理想情況下,開發/測試環境具有相同的硬件特徵(相同的CPU /緩存/內存/磁盤),但這通常是不可能的。

閱讀How to analyse SQL Server performance瞭解在獲得重新生成環境後必須查看的內容。確保你解決了實際問題,而不是由於硬件差異而在你的repro環境中發生的只有的問題。

作爲一個附註,大量的信息可以通過適當的監控從生產服務器非侵入性地收集。再次閱讀鏈接的文章。

+0

+1大文章 – 2014-10-27 14:51:21