DBCC FREESYSTEMCACHE
更新日期: 2006 年 12 月 12 日
从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。
语法
DBCC FREESYSTEMCACHE ( 'ALL' ) [WITH { [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ] } ]
参数
- ALL
指定所有受支持的缓存。
- MARK_IN_USE_FOR_REMOVAL
当不再使用当前使用的条目后,将它们分别从其各自所属的缓存中进行异步释放。
- NO_INFOMSGS
取消所有信息性消息。
结果集
DBCC FREESYSTEMCACHE 返回:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
备注
当 DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL 执行后,缓存中新创建的条目不会受到影响。
执行 DBCC FREESYSTEMCACHE 将清除 SQL Server 实例的计划缓存。清除计划缓存将导致对所有后续执行计划进行重新编译,并可能导致查询性能暂时性地突然降低。在 SQL Server 2005 Service Pack 2 中,对于计划缓存中每个已清除的缓存存储区,SQL Server 错误日志将包含以下信息性消息:“由于 'DBCC FREEPROCCACHE' 或 'DBCC FREESYSTEMCACHE' 操作,SQL Server 经历了 '%s' 缓存存储区(计划缓存的一部分)的 %d 次刷新。”只要每五分钟刷新一次缓存,此消息就将每五分钟记录一次。
权限
需要对服务器的 ALTER SERVER STATE 权限。
请参阅
参考
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 12 月 12 日 |
|