如何预热睡眠的SQL Server数据库

时间:2009-11-17 17:16:45

标签: sql-server sql-server-express

我们有一份工作,每天早上在CruiseControl.net上运行,将数据文件导入数据库。我们的问题似乎是有些晚上DB睡觉过夜。当我们在早上运行脚本时,我们的连接会在等待DB预热时超时。我们试过提高超时等但没有运气。有没有办法告诉SQL Server在设定的时间预热或发痒它以保持温暖?

到目前为止,我们两次运行这项工作,一次是在上午9点进行预热,80%的时间都会使其升温,但至少会在一小时后使服务器升温,这几乎总是有效。

我宁愿不再运行它两次,因为它是一项重要的工作,并且非常耗费CPU。有什么想法吗?

3 个答案:

答案 0 :(得分:14)

这是哪个版本的SQL Server?听起来这个数据库有自动关闭设置,这是EXPRESS的默认设置,但可能导致这样的行为。

答案 1 :(得分:12)

ALTER DATABASE myDB SET AUTO_CLOSE OFF
go

答案 2 :(得分:1)

您可以在构建过程运行前30分钟安排查询以“预热”服务器吗?

此外,此数据库是在服务器还是桌面上运行?如果是桌面,您可以检查电源管理设置。