有没有办法阻止SQL Express 2008怠速?

问题描述:

我正在使用SQL Express 2008作为Web应用程序的后端,问题在于Web应用程序在营业时间内使用,所以有时在午餐或休息时间,当用户没有登录20分钟时间时,SQL Express将启动进入空闲模式并释放其缓存。有没有办法阻止SQL Express 2008怠速?

我知道这一点,因为它记录是这样的: 服务器恢复的执行闲置9709秒 或 启动了数据库之后,“XXXXXXX” 在事件日志中

我想避免这种闲置行为,无论如何要配置SQL Express来停止空闲或至少将时间窗口延长到20分钟以上。或者,我唯一的选择是编写一个服务,每隔15分钟轮询一次数据库以保持它的后台运行?

在阅读this之类的文章之后,它看起来并不大有希望,但也许存在某人知道的黑客或注册表设置。

该行为不可配置。

您必须实施一种方法来频繁地轮询数据库。另外,就像您链接的文章所述,将AUTO CLOSE属性设置为false。

编写一个线程,每隔几分钟执行一次简单查询。在你的global.asax Application_Start启动线程,你应该完成!

只是这样,每隔几分钟简短的SQL查询将阻止的SQLserver从去空闲:

SELECT TOP 0 NULL 
    FROM [master].[dbo].[MSreplication_options] 
GO 

这里是一个很好的解释:https://blogs.msdn.microsoft.com/sqlexpress/2008/02/22/understanding-sql-express-behavior-idle-time-resource-usage-auto_close-and-user-instances/

不管:我不知道时间后sql快递闲置。我建议每10分钟运行脚本(可能是任务计划程序)。 这将防止SQL Server Express的从去空闲:

SELECT TOP 0 NULL FROM [master].[dbo].[MSreplication_options] GO 

还要确保基地属性设置为AUTO_CLOSE = FALSE

+0

这是很容易使用批处理脚本,所有数据:\ n – 2016-07-26 16:10:53