2013-03-30 22 views
-2

我正在執行一些腳本,它將用一些表格,SP和數據創建一個數據庫。在我的一臺PC(Windows 7,SQL SREVER R2)中,需要33秒才能完成,而在另一臺PC(Server 2008,SQL Server R2)中則需要近20分鐘的時間。有人能告訴我什麼是問題?執行生成的數據庫腳本在一臺機器上速度非常快,而在第二臺機器上速度非常慢?

+2

您可能需要提供更多信息......腳本是做什麼的,機器規格是什麼? –

+0

我有信息@chuex。你想要更多什麼? – user960567

回答

2

假設腳本和插入的數據是100%相同的,那麼您可能應該注意可能導致問題的環境變化。這些是我要檢查的東西:

  1. 您正在部署的prod服務器中是否存在CPU或內存差異?如果它的硬件不好,那麼它可能會導致問題(例如,如果您沒有獲得足夠的CPU週期,Windows Azure或EC2上便宜的虛擬機可能會比您的開發計算機性能最差)。整體表現是否好?
  2. 也許在您要部署的prod服務器中存在I/O問題。嘗試使用sqlio來對服務器和開發機器進行基準測試(請閱讀此處獲取說明:http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/)I/O在處理數據庫時非常重要。順便說一句,你的DB有多大?我們在談論多少數據?
  3. 如果不是硬件問題(1或2),那麼您可能會查找配置問題。有很多可能的配置問題,但其中一些比其他更可能:

    3.1確保您的數據和日誌文件處於分離的卷中,並且您使用的RAID級別適合您正在執行的操作。 RAID 10可能是最好的,但價格昂貴。但是,RAID 5會導致例如寫入性能下降。

    3.2如果您是第一次創建數據庫,那麼您可能會分配數據文件和日誌文件。取決於您創建的文件的大小,除非您在組策略中授予sql服務器名爲「執行卷維護任務」的權限,否則這可能會導致IO操作非常沉重,這不會導致0-ing整個大小

    3.3確保您在產品和開發機器中使用相同的恢復模型如果您使用「完整」或「批量記錄」恢復模式並插入大量數據,日誌文件的大小將增長。確保你預分配大多數規模在前進,不會造成多個小自動增長,可能真的會影響性能。

如果沒有上面的幫助請嘗試並提供更多信息,包括目標服務器的完整硬件規格,存儲器,LUN的配置以及您在默認的SQL Server安裝配置中所做的每一項更改。

祝你好運。

+0

謝謝夏爾,我會申請你的程序並告訴你這個嗎?因爲它是一個生產服務器,所以我需要非常小心。不管怎麼說,還是要謝謝你 – user960567

相關問題