今天,我使用扩展事件解决了Server 2016 TempDB上的一个问题,并将mixed_extent_allocation和transaction_log事件添加到跟踪中。
我希望mixed_extent_allocation不会出现在我的结果中,因为下面的查询返回0作为结果:
select is_mixed_page_allocation_on
from sys.databases
where database_id=2但令我惊讶的是,这个事件出现了好几次。在此之前是一个transaction_log事件,其中SGAM作为上下文和操作LOP_SET_BITS。
这让我感到好奇,我查看了TempdB的第一个SGAM页面的内容:
DBCC TRACEON(3604)
dbcc page(tempdb,1,3,3)
DBCC TRACEOff(3604)这是结果的一个片段:
╔═════════════════════════════════════════════╗
║ (1:0) - (1:176) = NOT ALLOCATED ║
║ (1:184) - = ALLOCATED ║
║ (1:192) - = NOT ALLOCATED ║
║ (1:200) - (1:208) = ALLOCATED ║
║ (1:216) - (1:256) = NOT ALLOCATED ║
║ (1:264) - = ALLOCATED ║
║ (1:272) - = NOT ALLOCATED ║
║ (1:280) - = ALLOCATED ║
║ (1:288) - (1:296) = NOT ALLOCATED ║
║ (1:304) - = ALLOCATED ║
║ (1:312) - = NOT ALLOCATED ║
║ (1:320) - = ALLOCATED ║
║ (1:328) - (1:336) = NOT ALLOCATED ║
║ (1:344) - = ALLOCATED ║
║ (1:352) - (1:65528) = NOT ALLOCATED ║
╚═════════════════════════════════════════════╝这使我得出结论,混合区域仍然被使用。我想到了服务器2016只使用统一的区段 (除了主、msdb和模型)。还是我的结论是错的?
为什么我还能看到mixed_extent_allocation事件的出现?
https://dba.stackexchange.com/questions/229857
复制相似问题