DBCC DROPCLEANBUFFERS不接受特定数据库或对象的任何参数。在内部,SQL Server 可以在数据库级别执行此操作,但是当数据库处于AUTO_CLOSEd 状态时,所有相应的页面都会从缓冲区缓存中删除。
此外,SQL Server 可以在内部标记某些页面,以便它们将是第一个被惰性编写器踢出的页面。DMV 使用它来避免像本文sys.dm_db_index_physical_stats中提到的那样刷新缓冲池,但此功能不会以任何方式向我们公开(即使在执行一次性扫描时能够指定相同的功能可能很有用例如一张大桌子)。
没有办法做到这一点。
DBCC DROPCLEANBUFFERS
不接受特定数据库或对象的任何参数。在内部,SQL Server 可以在数据库级别执行此操作,但是当数据库处于AUTO_CLOSE
d 状态时,所有相应的页面都会从缓冲区缓存中删除。此外,SQL Server 可以在内部标记某些页面,以便它们将是第一个被惰性编写器踢出的页面。DMV 使用它来避免像本文
sys.dm_db_index_physical_stats
中提到的那样刷新缓冲池,但此功能不会以任何方式向我们公开(即使在执行一次性扫描时能够指定相同的功能可能很有用例如一张大桌子)。您不能指定不应缓存特定表。是什么让您认为您不希望缓存中的表?
SQL Server 在缓冲池中执行所有正常操作,因此如果您能够告诉 SQL Server 不要将表加载到缓存中,则任何正常 DML 操作都无法访问该表。