DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC FREESYSTEMCACHE从所有缓存中释放所有未使用的缓存条目
2013-12-26 10:01
501 查看
从所有缓存中释放所有未使用的缓存条目。SQL Server 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中或者从指定的资源调控器池缓存中手动删除未使用的条目。
Transact-SQL
语法约定
语法
参数
( 'ALL' [, pool_name ] )
ALL 指定所有受支持的缓存。
pool_name 指定资源调控器池缓存。只释放与此池关联的条目。
MARK_IN_USE_FOR_REMOVAL
当不再使用当前使用的条目后,将它们分别从其各自所属的缓存中进行异步释放。当 DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL 执行后,缓存中新创建的条目不会受到影响。
NO_INFOMSGS
禁止显示所有信息性消息。
结果集
DBCC FREESYSTEMCACHE 返回:
“DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。”
注释
执行 DBCC FREESYSTEMCACHE 将清除 SQL Server 实例的计划缓存。清除计划缓存将导致对所有后续执行计划进行重新编译,并可能导致查询性能暂时性地突然降低。对于计划缓存中每个已清除的缓存存储区,SQL Server 错误日志将包含以下信息性消息:“由于 'DBCC FREEPROCCACHE' 或 'DBCC FREESYSTEMCACHE' 操作,SQL Server 经历了 '%s' 缓存存储区(计划缓存的一部分)的 %d 次刷新。”只要每五分钟刷新一次缓存,此消息就将每五分钟记录一次。
权限
需要对服务器的 ALTER SERVER STATE 权限。
示例
下面的示例说明如何清除专属于某个指定资源调控器资源池的缓存。
下面的示例使用 MARK_IN_USE_FOR_REMOVAL 子句,在不再使用条目后将它们从所有当前缓存中释放。
Transact-SQL
语法约定
语法
DBCC FREESYSTEMCACHE ( 'ALL' [, pool_name ] ) [WITH { [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ] } ]
参数
( 'ALL' [, pool_name ] )
ALL 指定所有受支持的缓存。
pool_name 指定资源调控器池缓存。只释放与此池关联的条目。
MARK_IN_USE_FOR_REMOVAL
当不再使用当前使用的条目后,将它们分别从其各自所属的缓存中进行异步释放。当 DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL 执行后,缓存中新创建的条目不会受到影响。
NO_INFOMSGS
禁止显示所有信息性消息。
结果集
DBCC FREESYSTEMCACHE 返回:
“DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。”
注释
执行 DBCC FREESYSTEMCACHE 将清除 SQL Server 实例的计划缓存。清除计划缓存将导致对所有后续执行计划进行重新编译,并可能导致查询性能暂时性地突然降低。对于计划缓存中每个已清除的缓存存储区,SQL Server 错误日志将包含以下信息性消息:“由于 'DBCC FREEPROCCACHE' 或 'DBCC FREESYSTEMCACHE' 操作,SQL Server 经历了 '%s' 缓存存储区(计划缓存的一部分)的 %d 次刷新。”只要每五分钟刷新一次缓存,此消息就将每五分钟记录一次。
权限
需要对服务器的 ALTER SERVER STATE 权限。
示例
A. 从资源调控器池缓存释放未使用的缓存条目
下面的示例说明如何清除专属于某个指定资源调控器资源池的缓存。-- Clean all the caches with entries specific to the resource pool named "default". DBCC FREESYSTEMCACHE ('ALL','default');
B. 当不再使用条目后,将它们分别从其各自所属的缓存中释放
下面的示例使用 MARK_IN_USE_FOR_REMOVAL 子句,在不再使用条目后将它们从所有当前缓存中释放。DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;
相关文章推荐
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SQLPERF提供所有数据库的事务日志空间使用情况统计信息
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC FREESESSIONCACHE刷新针对 Microsoft SQL Server 实例执行的分布式查询所使用的分
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKDB通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKTABLE检查组成表或索引视图的所有页和结构的完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC DROPCLEANBUFFERS从缓冲池中删除所有清除缓冲区
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCONSTRAINTS检查当前数据库中指定表上的指定约束或所有约束的完整性
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKCATALOG检查指定数据库内的目录一致性。数据库必须联机。
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHECKIDENT在 SQL Server 2008 R2 中检查指定表的当前标识值,如有必要,则更改标识值
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC UPDATEUSAGE报告目录视图中的页数和行数错误并进行更正
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC TRACESTATUS显示跟踪标志的状态
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC TRACEON启用指定的跟踪标记
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC DBREPAIR禁用指定的跟踪标记
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC HELP返回指定的 DBCC 命令的语法信息
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SHRINKFILE收缩当前数据库的指定数据或日志文件的大小