본문 바로가기

MSSQL

sys.dm_db_persisted_sku_features 뷰

반응형

MS SQL Server에서 Enterprise Edition에서만 사용 가능한 기능이 현재 데이터베이스에 사용되고 있는지 확인하려면 sys.dm_db_persisted_sku_features 뷰를 쿼리하면 됩니다. 이 뷰는 Enterprise Edition 또는 Developer Edition에서만 제공되는 기능을 나열합니다.

SELECT feature_name
FROM sys.dm_db_persisted_sku_features;

 

설명

  • 이 쿼리는 현재 데이터베이스에서 사용 중인 Enterprise Edition 전용 기능을 반환합니다.
  • 반환되는 기능에는 ChangeCapture, ColumnStoreIndex, Compression, MultipleFSContainers, InMemoryOLTP, Partitioning, TransparentDataEncryption 등이 포함될 수 있습니다.
  • 결과가 비어 있다면, Enterprise Edition 전용 기능이 사용되고 있지 않다는 뜻입니다.

추가 참고

  • SQL Server 2016 SP1 이후로는 일부 기능(예: Compression)이 Standard Edition에서도 지원되므로, 사용하는 SQL Server 버전에 따라 결과 해석이 달라질 수 있습니다.
  • 모든 데이터베이스를 확인하려면, 아래와 같이 동적 SQL을 사용할 수 있습니다.
DECLARE @sql nvarchar(max) = '';

SELECT @sql += 
    'SELECT ''' + name + ''' AS DatabaseName, feature_name 
    FROM [' + name + '].sys.dm_db_persisted_sku_features UNION ALL '
FROM sys.databases;

SET @sql = LEFT(@sql, LEN(@sql) - 10); -- 마지막 UNION ALL 제거
EXEC sp_executesql @sql;

 

이 쿼리는 인스턴스의 모든 데이터베이스를 대상으로 Enterprise Edition 기능을 확인합니다.

권한

  • SQL Server 2019 이하에서는 VIEW DATABASE STATE 권한이 필요합니다.
  • SQL Server 2022 이상에서는 VIEW DATABASE PERFORMANCE STATE 권한이 필요합니다.

위 쿼리를 실행하여 데이터베이스가 Enterprise Edition 기능을 사용하는지 확인할 수 있습니다.

반응형