知
【MVS】SQLServer数据库的自动关闭特性介绍
问题描述
解决方法
AUTO_CLOSE(自动关闭)
1)特性简介
- 含义:当数据库最后一个用户连接断开后,SQL Server 会将数据库关闭并释放部分资源;下次访问时再重新打开。
- 影响:可能带来首次连接变慢、计划/缓存抖动、频繁打开关闭等问题。
2)从什么版本开始支持
- 早期版本即已支持(SQL Server 很早就具备该数据库选项,至少从 SQL Server 2000 起就常见)。
3)如何查询当前状态
SELECT name, is_auto_close_on
FROM sys.databases
WHERE name = N'YourDB';
或:
SELECT DATABASEPROPERTYEX(N'YourDB','IsAutoClose') AS IsAutoClose;
4)什么情况考虑开启
- 非生产/实验环境、数据库非常多且极少访问,希望在极低频访问时释放少量资源。
- 某些桌面/单机或非常轻量的场景(常见于 SQL Server Express 的小应用)。
5)什么情况建议关闭(常规生产建议关闭)
- 业务库/生产库(尤其高并发、连接频繁、使用连接池的应用)。
- 需要稳定性能与响应时间的系统。
- 报表、ETL、作业等规律性访问的库(会造成周期性“首连慢”)。
6)如何设置
ALTER DATABASE [YourDB] SET AUTO_CLOSE OFF; -- 或 ON