當您執行 SSIS 2008 封裝低記憶體條件下的時,SSIS 2008 執行階段程序發生當機 (機器翻譯)

文章翻譯 文章翻譯
文章編號: 977190 - 檢視此文章適用的產品。
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2008 的修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 SQL Server 2008 隨附所有安全性修正程式都修正發行。
全部展開 | 全部摺疊

在此頁中

徵狀

您有 Microsoft SQL Server 2008 整合服務 (SSIS 2008) 封裝。封裝包含資料流工作。當在低記憶體條件下的伺服器上執行套件時,發生存取違規,然後 SSIS 2008 執行階段處理序當機。此外,您可能會收到有關低記憶體如下所示在 SSIS 2008 應用程式記錄檔中記錄的警告:
事件名稱: OnInformation

描述: 的緩衝區管理員無法供 10484760 位元組的記憶體配置呼叫,但是無法交換免去記憶體壓力任何緩衝區。被視為 305 緩衝區,且 295 遭鎖定。使用到管線任一個沒有足夠的記憶體,因為沒有足夠安裝、 其他處理程序正在使用它,或太多緩衝區會鎖定。

事件名稱: OnInformation

描述: 此緩衝區管理員已配置 10485608 位元組即使偵測記憶體壓力並重複的嘗試交換緩衝區已失敗。


附註 各種 SSIS 2008 封裝執行的執行階段程序可為 DTExec.exe、 DTSHost.exe 或 DTSDebugHost.exe。執行 SSIS 2008 封裝程序是由封裝是之下的條件來決定。父封裝執行 DTExec.exe 處理序。執行子封裝 DTSHost.exe 處理序。DtsDebugHost.exe 程序會執行由商務智慧設計 Studio 偵錯的套件。

發生的原因

SSIS 2008 會通知伺服器是低記憶體條件下。當只有 128 MB 為單位) 到 256 MB 的記憶體可用時,就會發生低記憶體條件。然後,開始到 BufferTempStoragePath 屬性所指定的暫存資料夾交換資料流管線緩衝區 SSIS 2008 執行階段程序。

在 「 徵狀 」 一節所述的情況下,在緩衝區中資料複製在內部到目的緩衝區由轉換。比方說在緩衝區中資料會複製所 Merge Join 轉換。低記憶體條件下伺服器時,就會發生這項作業。不過,轉換無法辨識轉換之外的執行緒突然交換出目的緩衝區。因此,複製作業失敗,而且會造成存取違規。

解決方案

此 Hotfix 會複製作業期間明確地鎖定目的緩衝區。這種行為可以防止其他執行緒交換目的地緩衝區執行複製作業時。這個問題的修正程式先於累計更新 6 的 SQL Server 2008 Service Pack 1 發行。如更多有關此累積更新套件,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
977443SQL Server 2008 Service Pack 1 的累積更新套件 6
附註因為組建是累計,每個新的修正程式版本包含所有 Hotfix 及先前的 SQL Server 2008 隨附所有安全性修正程式都修正版本。我們建議您考慮安裝最新的修正程式發行版本包含此 Hotfix。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
970365SQL Server 2008 建置發行 SQL Server 2008 Service Pack 1 之後所發行
Microsoft SQL Server 2008 的 Hotfix 會建立特定的 SQL Server Service Pack。您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。預設狀況下,在 SQL Server Service Pack 中提供任何 Hotfix 包含在下一個 SQL Server Service Pack。

其他可行方案

如果要解決這個問題,解決低記憶體條件。不同的電腦而異可以觸發這個問題的記憶體數量。通常,這個量為 32 MB 與 64 MB 之間。因此,我們建議您設定伺服器為 SSIS 2008 配置超過 64 MB 的可用記憶體。

有發出信號低記憶體資源通知事件的可用記憶體預設數量。 這個可用的記憶體範圍是從 32 MB 到 64 MB 的每一個 4 GB (GB)。這個問題很難防止因為在忙碌的生產伺服器上有可用的記憶體。此外,記憶體可能會降低其他各種原因。如需有關記憶體資源通知的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
Function that creates memory resource notification objects
若要減少此問題的頻率,使用下列方法之一。

方法 1

新增更多實體記憶體到電腦。

方法 2

不執行 SQL Server 執行個體的電腦上執行 SSIS 2008 封裝。

方法 3

您在執行 SSIS 2008 封裝時設定為較小的值 [SQL Server 2008 執行個體的 最大伺服器記憶體 選項。 這種行為會增加可用的記憶體。

方法 4

結束應用程式會耗用大量記憶體,當您執行 SSIS 2008 套件,包含資料流的工作。

方法 5

在平行減少記憶體使用量中而非數列中執行 SSIS 2008 封裝和資料流工作。


方法 6

請使用 < 如何監視 SSIS 的記憶體耗用量 > 小節 < 其他相關資訊 > 一節的中所述的方法疑難排解低記憶體條件。然後,最佳化 SSIS 2008 的記憶體使用。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如何監視 SSIS 的記憶體耗用量

監視記憶體測量各種 SQL Server 整合服務] 執行階段處理來計算的最大記憶體使用量的尖峰使用量

藉由使用 私用位元組 監視尖峰記憶體使用量的各種不同的 SQL 伺服器整合服務 (SSIS) 執行階段處理程序計數器的 處理程序 在效能監視器中的物件。 SSIS Run-Time 處理程序的範例包括 DTExec.exe 程序,以及 DTSHost.exe 程序。

在執行 SSIS 封裝時找出最大值為 私用位元組 計數器。當同時執行多個封裝時,新增一起執行才能取得記憶體使用量的最大值的所有處理序的最大值。

監視找出尖峰及谷地的外部處理序

監視尖峰記憶體使用量,SQL Server 服務及 SSIS 服務以外的處理程序,藉由使用 私用位元組 計數器的 處理程序 在效能監視器中的物件。尋找可能會降低可用記憶體的 SSIS 的尖峰使用時間。比方說當多個使用者使用遠端桌面通訊協定 (RDP) 來連線到伺服器,或者當執行備份軟體才尖峰時間。

監視 SQL Server 記憶體使用量,以尋找尖峰和山谷

如果使用被鎖定的緩衝集區頁面 」 訊息不在最新錯誤記錄檔,私用位元組 計數器為 Sqlservr.exe 程序可以指出多少記憶體消耗所 SQL Server 的服務。

如果在最新的錯誤記錄檔中包含了使用被鎖定的緩衝集區頁面 」 訊息,使用 合計伺服器記憶體 (KB) 計數器的 SQL Server: 記憶體管理員 來測量的 SQL Server 緩衝集區記憶體使用量的效能物件。此外,使用 私用位元組 計數器 Sqlservr.exe 處理程序,來尋找記憶體配置之外緩衝集區 (MemToLeave)。合計伺服器記憶體 (KB) 計數器值和 MemToLeave 值的總和為良好的估計的 SQL Server 所用的記憶體總量。

效能監視器] 及 [工作管理員 」 並不會顯示其中一種下列條件時,這些緩衝區集區頁面所消耗的記憶體:
  • 記憶體中的 [鎖定] 頁面 使用者權限指派給 SQL Server 服務啟動帳戶。
  • AWE 記憶體已啟用。
附註 當其中一個這些條件為 true 時,私用位元組 計數器為 Sqlservr.exe 程序應該指出多少記憶體消耗所各種 SQL Server 執行個體的 SQL Server 服務。

監視 Windows 中的可用記憶體的最小值

要監視多少記憶體隨即出現在 Windows,使用下列方法之一:
  • 使用 可用 MBytes 計數器指出多少記憶體是可用的效能監視器中。
  • 實體記憶體 (MB) – 空閒 值在工作管理員] 的 [效能] 索引標籤的檢視。

    附註 在某些作業系統,實體記憶體 (MB) – 空閒 值標示為 實體記憶體 (K) – 可用 值。

?考

如有關累加式的維修模型為 SQL Server,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
935897累加式的維修模型是可以從 SQL Server 小組來傳遞回報問題的 Hotfix


如 SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述


如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 977190 - 上次校閱: 2010年1月29日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
關鍵字:?
kbmt kbexpertiseadvanced kbfix kbsurveynew kbqfe kbhotfixserver KB977190 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:977190
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com