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 的記憶體可供使用時,就會發生記憶體不足的狀況。然後,SSIS 2008 執行階段處理序開始到BufferTempStoragePath屬性所指定的暫存資料夾交換資料流程管線緩衝區。


在 < 徵狀=""> 一節所述的情況下,轉換為目的緩衝區,複製在內部緩衝區中的資料。例如,緩衝區中的資料會複製合併聯結的轉換。伺服器時,低記憶體條件下,就會發生這項作業。不過,轉換無法辨識的執行緒之外轉換突然代換目的緩衝區。因此,在複製作業會失敗,且然後卻造成存取違規。

解決方案

此 hotfix 複製作業期間,請以明確地鎖定目的緩衝區。這種行為可防止其他執行緒執行複製作業時交換目的緩衝區。
SQL Server 2008 Service Pack 1 的第一次這個問題的修正程式釋放累積的更新 6] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

977443累計更新套件 6,SQL Server 2008 Service Pack 1注意因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

SQL Server 2008年建置 SQL Server 2008 Service Pack 1 發行之後所發行的970365
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 開發人員網路 (MSDN) 網站︰

建立記憶體資源通知物件的函式若要減少此問題的頻率,請使用下列方法之一。

方法 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 Server 整合服務 (SSIS) 執行階段處理序的尖峰記憶體使用量
私用位元組
計數器的
處理程序
效能監視器中的物件。SSIS 執行階段處理程序的範例包括 DTExec.exe 程序,以及 DTSHost.exe 程序。


執行 SSIS 封裝時找到的最大值
私用位元組
計數器。以平行方式執行多個封裝時拼湊在一起的執行取得記憶體使用量的最大值中的所有處理序的最大值。

監視到山谷尖峰和離峰的外部處理序


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

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


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



如果 「 使用鎖定的緩衝集區頁面 」 的訊息包含在最新的錯誤記錄檔中,使用
伺服器總記憶體 (KB)
計數器的
SQL Server︰ 記憶體管理員
要測量 SQL Server 緩衝集區的記憶體使用量的效能物件。此外,使用
私用位元組
若要尋找緩衝集區 (MemToLeave) 以外的記憶體配置 Sqlservr.exe 處理序計數器。伺服器記憶體總計 (KB)的計數器值和 MemToLeave 值的總和是記憶體的無法妥善測量的 SQL Server 使用總量。



效能監視器] 及 [工作管理員不會顯示發生了下列情況之一時,由這些緩衝區集區的分頁的記憶體︰


  • 鎖定記憶體分頁] 使用者權限會指派給 SQL Server 服務啟動帳戶。


  • AWE
    記憶體已啟用。

附註
當其中一個條件為 true,
私用位元組
Sqlservr.exe 處理序計數器應指示多少記憶體由不同的 SQL Server 執行個體的 SQL Server 服務。

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


若要監視 Windows 處於可使用多少記憶體,請使用下列方法之一︰

  • 使用
    可用千位元組數
    若要表示有多少記憶體的效能監視器中的計數器。

  • 檢視
    實體記憶體 (MB) – 可用
    在 [工作管理員] 的 [效能] 索引標籤上的值。


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

參考

SQL Server 增量的服務模型的相關資訊,如按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

935897的累加式服務模型可以使用從 SQL Server 小組製作報告的問題的 hotfix



如需有關 SQL Server 更新的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

822499新命名的結構描述為 Microsoft SQL Server 軟體更新套件的

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×