sys.dm_db_persisted_sku_features (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Certaines fonctionnalités du Moteur de base de données modifient la façon dont ces informations sont stockées dans les fichiers de base de données. Ces fonctionnalités sont limitées à des éditions spécifiques de SQL Server. Une base de données qui contient ces fonctionnalités ne peut pas être déplacée vers une édition de SQL Server qui ne les prend pas en charge. Utilisez la sys.dm_db_persisted_sku_features vue de gestion dynamique pour répertorier les fonctionnalités spécifiques à l’édition activées dans la base de données active.

Nom de la colonne Type de données Description
feature_name sysname Nom externe de la fonctionnalité activée dans la base de données, mais non prise en charge sur toutes les éditions de SQL Server. Cette fonctionnalité doit être supprimée avant que la base de données puisse être migrée vers toutes les éditions disponibles de SQL Server.
feature_id int ID de fonctionnalité associée à la fonctionnalité. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n’est pas garantie..

Autorisations

Pour SQL Server 2019 (15.x) et les versions précédentes, nécessite l’autorisation VIEW DATABASE STATE sur la base de données.

Pour SQL Server 2022 (16.x) et versions ultérieures, nécessite l’autorisation VIEW DATABASE PERFORMANCE STATE sur la base de données.

Notes

S’il n’existe aucune fonctionnalité qui peut être limitée par une édition spécifique de la base de données, la vue ne retourne aucune ligne.

sys.dm_db_persisted_sku_features peut répertorier les fonctionnalités de modification de base de données suivantes comme étant limitées aux éditions spécifiques de SQL Server :

  • ChangeCapture : indique qu’une base de données a activé la capture des données modifiées. Pour supprimer la capture des données modifiées, utilisez la procédure stockée sys.sp_cdc_disable_db . Pour plus d’informations, consultez À propos de la capture de données modifiées (SQL Server).

  • ColumnStoreIndex : indique qu’au moins une table a un index columnstore. Pour permettre à une base de données d’être déplacée vers une édition de SQL Server qui ne prend pas en charge cette fonctionnalité, utilisez l’instruction DROP INDEX ou ALTER INDEX pour supprimer l’index columnstore. Pour plus d’informations, consultez les index Columnstore.

  • Compression : indique qu’au moins une table ou un index utilise la compression des données ou le format de stockage vardecimal. Pour permettre à une base de données d’être déplacée vers une édition de SQL Server qui ne prend pas en charge cette fonctionnalité, utilisez l’instruction ALTER TABLE ou ALTER INDEX pour supprimer la compression des données. Pour supprimer le format de stockage vardecimal, utilisez l’instruction sp_tableoption . Pour plus d’informations, consultez Compression de données.

  • MultipleFSContainers : indique que la base de données utilise plusieurs conteneurs FILESTREAM. La base de données a un groupe de fichiers FILESTREAM avec plusieurs conteneurs (fichiers). Pour plus d’informations, consultez FILESTREAM (SQL Server).

  • InMemoryOLTP : indique que la base de données utilise OLTP en mémoire. La base de données a un groupe de fichiers MEMORY_OPTIMIZED_DATA. Pour plus d’informations, consultez OLTP en mémoire (optimisation en mémoire).

  • Partitionnement. Indique que la base de données contient des tables partitionnées, des index partitionnés, des schémas de partition ou des fonctions de partition. Pour permettre à une base de données d’être déplacée vers une édition de SQL Server autre que Enterprise ou Developer, il est insuffisant de modifier la table pour qu’elle se trouve sur une seule partition. Vous devez supprimer la table partitionnée. Si la table contient des données, utilisez SWITCH PARTITION pour convertir chaque partition en une table non partitionnée. Supprimez ensuite la table partitionnée, le schéma de partition et la fonction de partition.

  • TransparentDataEncryption. Indique qu'une base de données est chiffrée à l'aide du chiffrement transparent des données. Pour supprimer le chiffrement transparent des données, exécutez l'instruction ALTER DATABASE. Pour plus d’informations, consultez Transparent Data Encryption (TDE).

Remarque

À compter de SQL Server 2016 (13.x) Service Pack 1, ces fonctionnalités, à l’exception de TransparentDataEncryption , sont disponibles dans plusieurs éditions de SQL Server, et non limitées aux éditions Entreprise ou Développeur uniquement.

Pour déterminer si une base de données utilise des fonctionnalités limitées à des éditions spécifiques, exécutez l'instruction suivante dans la base de données :

SELECT feature_name
FROM sys.dm_db_persisted_sku_features;
GO

Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server sur Windows, consultez :

Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server sur Linux, consultez :