据我所知,如果我执行“DBCC FREEPROCCACHE”和“DBCC DROPCLEANBUFFERS”,整个服务器的缓冲区将被清理。 我想知道是否有办法只清理指定数据库的缓冲区。因此,查询其他数据库不会受到影响。
最佳答案
您可以使用 DBCC FLUSHPROCINDB(<db_id>)
清除单个数据库中的所有执行计划。我不知道有任何类似的命令可以从缓冲区缓存中清除特定页面。
但是,如果情况允许,您可以暂时将数据库设置为脱机,然后重新联机,以清除数据库的计划缓存和缓冲区缓存。
关于sql-server - 我可以清理某些指定数据库的缓冲区而不是整个 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564874/