相关疑难解决方法(0)

Detach/Attach 或 Offline/Online 是否清除特定数据库的缓冲区缓存?

我的一个朋友今天告诉我,我可以简单地分离然后重新附加数据库,而不是弹跳 SQL Server,此操作将从缓存中清除给定数据库的页面和计划。我不同意并在下面提供我的证据。如果您不同意我的观点或有更好的反驳,请务必提供。

我在这个版本的 SQL Server 上使用 AdventureWorks2012:

选择@@版本;
Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
Windows NT 6.1(内部版本 7601:Service Pack 1)上的开发人员版(64 位)

加载数据库后,我运行以下查询:

首先,运行在这里找到的 Jonathan K 的 AW 增肥脚本:

AW 发胖

---------------------------
-- 第 1 步:Bpool 的东西?
---------------------------
使用 [AdventureWorks2012];
走

选择
     OBJECT_NAME(p.object_id) AS [ObjectName]
   , p.object_id
   , p.index_id
   , COUNT(*) / 128 AS [缓冲区大小(MB)]
   , COUNT(*) AS [buffer_count]
从
     sys.allocation_units AS
     INNER JOIN sys.dm_os_buffer_descriptors AS b
           ON a.allocation_unit_id = b.allocation_unit_id
     INNER JOIN sys.partitions AS p
           ON a.container_id = …

sql-server sql-server-2008-r2

8
推荐指数
1
解决办法
1698
查看次数

标签 统计

sql-server ×1

sql-server-2008-r2 ×1