我們一直在SQL服務器上使用22000(MB)的最大服務器內存來通過SQL代理作業運行SSIS包。最近我們將內存增加到了28000(MB),這導致軟件包停止運行。 SQL作業就在服務器上幾個小時無所事事。SQL Server內存增加SSIS包創建問題
爲什麼會發生這種情況,我們該如何解決?
我們一直在SQL服務器上使用22000(MB)的最大服務器內存來通過SQL代理作業運行SSIS包。最近我們將內存增加到了28000(MB),這導致軟件包停止運行。 SQL作業就在服務器上幾個小時無所事事。SQL Server內存增加SSIS包創建問題
爲什麼會發生這種情況,我們該如何解決?
爲操作系統提供10到20%的內存總是更好,併爲SQL Server分配剩餘部分。如果SSIS在同一臺服務器上運行,則僅向SQL Server提供大約70%。
這一切都取決於我們在SSIS上運行了多少。你真的有內存瓶頸嗎?使用以下查詢來檢查...
SELECT
(physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB,
(locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB,
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
FROM sys.dm_os_process_memory;
謝謝。是否有任何選項可以控制SSIS端的內存使用情況?例如修改DefaultBufferMaxRow或其他一些屬性?當我運行這個軟件包時,我看到C盤裏裝滿了DTS.tmp文件。 – Sutha
我們可以爲dtexec.exe提供足夠的內存/處理能力。我們可以跟蹤性能調整的一些SSIS性能計數器,但不確定是否正在填充的c-drive ...正在使用的緩衝區, 使用的平緩衝區 –
您的來源是什麼?你的目的地是哪裏?如果其中一個是數據庫,您是否在尋找阻止活動? – billinkc
好點。是包裝還是數據庫?這是你需要找到答案的第一個問題。一些包任務使用大量內存,有些則不。 –
如果你的包在同一臺機器上執行,現在有多少內存可用於SSIS引擎?夠了嗎?檢查性能計數器。 –