如何在数据库工作完成后释放数据库使用的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