DBCC FREESYSTEMCACHE

更新日期: 2006 年 12 月 12 日

从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。

主题链接图标Transact-SQL 语法约定

语法

 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 权限。

请参阅

参考

DBCC (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 12 月 12 日

新增内容:
  • 添加了有关执行此命令时在 Service Pack 2 中记录的错误消息的信息。