如何在數據庫工作完成後釋放數據庫使用的RAM? (運行SP之前RAM使用率爲1.57,之後SP運行並結束,RAM使用率爲2.24 - 當重新啓動SQL Server時它將會OK)。如何在數據庫工作完成後釋放數據庫使用的RAM?
我們只有一個多用途服務器。該服務器是SQL Server主機,我們還在此服務器上運行其他企業應用程序,這些應用程序也需要可用的RAM空間。
如何確保這些應用程序有足夠的RAM來運行?
如何在數據庫工作完成後釋放數據庫使用的RAM? (運行SP之前RAM使用率爲1.57,之後SP運行並結束,RAM使用率爲2.24 - 當重新啓動SQL Server時它將會OK)。如何在數據庫工作完成後釋放數據庫使用的RAM?
我們只有一個多用途服務器。該服務器是SQL Server主機,我們還在此服務器上運行其他企業應用程序,這些應用程序也需要可用的RAM空間。
如何確保這些應用程序有足夠的RAM來運行?
我之前有過這樣的問題,我找到了解決這個問題的方法。 您可以創建stored procedure,如下所述: 在開始您的應用程序之前,您應該在模式1中調用此存儲過程,因爲您需要足夠的內存。
對於SQL操作和關閉應用程序之前,必須再次在模式0調用這個存儲過程:
Create Proc [dbo].[MP_Rpt_ConfigureMemory]
( @Mode bit )
as
declare @RAM as integer
declare @MAX as integer
declare @MIN as integer
set @RAM =
(SELECT
[physical_memory_in_bytes]/1048576 AS [RAM (MB)]
FROM [sys].[dm_os_sys_info])
Set @MAX = ((@RAM/4) * 3)
Set @MIN = ((@RAM/4) * 1)
if @Mode=0
begin
exec SP_Configure 'min server memory', 1
RECONFIGURE
exec SP_Configure 'max server memory', 100
RECONFIGURE
end
else
if @Mode = 1
begin
exec SP_Configure 'max server memory', @MAX
RECONFIGURE
exec SP_Configure 'min server memory', @MIN
RECONFIGURE
end
請在「最大服務器內存」設置中進行更改。如果您需要更多幫助,請閱讀Used memory not freed up after a SQL BULK insert/BCP export。
我不想重新啓動sql server! –
你爲什麼需要?數據庫服務器應該使用盡可能多的可用內存,如果它要正確地完成其工作。數據庫工作完成後 – Oded
!ram必須發佈!但它不會發生 –
爲什麼「必須釋放」? – Oded