Split out from #976.
LocalDataService.FinOps.ServerProperties.cs determines the SQL Server edition with SERVERPROPERTY('Edition') / SERVERPROPERTY('EngineEdition'). On an AG readable secondary, SERVERPROPERTY('Edition') returns the licensing edition (e.g. "Enterprise Edition") exactly as the primary does — it has no notion of replica role. The FinOps code does not check AG role (sys.dm_hadr_availability_replica_states / sys.dm_hadr_database_replica_states), so it presents a readable secondary as a full Enterprise instance.
This is not an edition-detection bug — the value is correct — but FinOps cannot distinguish a primary from a readable secondary, which matters for how licensing/cost is framed. Decide whether FinOps should detect and label the replica role.
Component
Lite. Reported on 2.10.0.
Split out from #976.
LocalDataService.FinOps.ServerProperties.csdetermines the SQL Server edition withSERVERPROPERTY('Edition')/SERVERPROPERTY('EngineEdition'). On an AG readable secondary,SERVERPROPERTY('Edition')returns the licensing edition (e.g. "Enterprise Edition") exactly as the primary does — it has no notion of replica role. The FinOps code does not check AG role (sys.dm_hadr_availability_replica_states/sys.dm_hadr_database_replica_states), so it presents a readable secondary as a full Enterprise instance.This is not an edition-detection bug — the value is correct — but FinOps cannot distinguish a primary from a readable secondary, which matters for how licensing/cost is framed. Decide whether FinOps should detect and label the replica role.
Component
Lite. Reported on 2.10.0.