sys.dm_db_persisted_sku_features (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Einige Features der Datenbank-Engine ändern die Art und Weise, wie Informationen in den Datenbankdateien gespeichert werden. Diese Features sind auf bestimmte Editionen von SQL Server beschränkt. Eine Datenbank, die diese Features enthält, kann nicht in eine Edition von SQL Server verschoben werden, die sie nicht unterstützt. Verwenden Sie die sys.dm_db_persisted_sku_features dynamische Verwaltungsansicht, um editionsspezifische Features auflisten, die in der aktuellen Datenbank aktiviert sind.

Spaltenname Datentyp Beschreibung
feature_name sysname Externer Name des Features, das in der Datenbank aktiviert ist, in allen Editionen von SQL Server jedoch nicht unterstützt wird. Dieses Feature muss entfernt werden, bevor die Datenbank zu allen verfügbaren Editionen von SQL Server migriert werden kann.
feature_id int Funktions-ID, die der Funktion zugeordnet ist. Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität ist nicht garantiert..

Berechtigungen

Für SQL Server 2019 (15.x) und frühere Versionen ist die BERECHTIGUNG VIEW DATABASE STATE für die Datenbank erforderlich.

Für SQL Server 2022 (16.x) und höhere Versionen ist die BERECHTIGUNG VIEW DATABASE PERFORMANCE STATE für die Datenbank erforderlich.

Hinweise

Wenn keine Features vorhanden sind, die möglicherweise durch eine bestimmte Edition in der Datenbank eingeschränkt werden, gibt die Ansicht keine Zeilen zurück.

sys.dm_db_persisted_sku_features kann die folgenden datenbankverändernden Features als eingeschränkt auf bestimmte SQL Server-Editionen auflisten:

  • ChangeCapture: Gibt an, dass eine Datenbank Änderungsdatenerfassung aktiviert hat. Verwenden Sie zum Entfernen der Änderungsdatenerfassung die sys.sp_cdc_disable_db gespeicherten Prozedur. Weitere Informationen finden Sie unter About Change Data Capture (SQL Server).For more information, see About Change Data Capture (SQL Server)

  • ColumnStoreIndex: Gibt an, dass mindestens eine Tabelle über einen Spaltenspeicherindex verfügt. Damit eine Datenbank in eine Edition von SQL Server verschoben werden kann, die dieses Feature nicht unterstützt, verwenden Sie die DROP INDEX - oder ALTER INDEX-Anweisung, um den Columnstore-Index zu entfernen. Weitere Informationen finden Sie unter Columnstore-Indizes.

  • Komprimierung: Gibt an, dass mindestens eine Tabelle oder ein Index die Datenkomprimierung oder das Vardecimal-Speicherformat verwendet. Damit eine Datenbank in eine Edition von SQL Server verschoben werden kann, die dieses Feature nicht unterstützt, verwenden Sie die ALTER TABLE - oder ALTER INDEX-Anweisung , um die Datenkomprimierung zu entfernen. Verwenden Sie die sp_tableoption Anweisung, um das Vardecimal-Speicherformat zu entfernen. Weitere Informationen finden Sie unter Data Compression.

  • MultipleFSContainers: Gibt an, dass die Datenbank mehrere FILESTREAM-Container verwendet. Die Datenbank verfügt über eine FILESTREAM-Dateigruppe mit mehreren Containern (Dateien). Weitere Informationen finden Sie unter FILESTREAM (SQL Server).

  • InMemoryOLTP: Gibt an, dass die Datenbank IN-Memory OLTP verwendet. Die Datenbank verfügt über eine MEMORY_OPTIMIZED_DATA-Dateigruppe. Weitere Informationen finden Sie unter In-Memory OLTP (Speicheroptimierung).

  • Partitionierung: Gibt an, dass die Datenbank partitionierte Tabellen, partitionierte Indizes, partitionierte Schemas oder Partitionsfunktionen enthält. Damit eine Datenbank in eine andere Edition von SQL Server als Enterprise oder Developer verschoben werden kann, reicht es nicht aus, die Tabelle in einer einzelnen Partition zu ändern. Sie müssen die partitionierte Tabelle entfernen. Wenn die Tabelle Daten enthält, verwenden Sie SWITCH PARTITION, um jede Partition in eine nicht partitionierte Tabelle zu konvertieren. Löschen Sie dann die partitionierte Tabelle, das Partitionsschema und die Partitionsfunktion.

  • TransparentDataEncryption. Gibt an, dass eine Datenbank mit transparenter Datenverschlüsselung verschlüsselt wird. Um die transparente Datenverschlüsselung zu entfernen, verwenden Sie die ALTER DATABASE-Anweisung. Weitere Informationen finden Sie unter Transparent Data Encryption (TDE).

Hinweis

Ab SQL Server 2016 (13.x) Service Pack 1 sind diese Features, mit Ausnahme von TransparentDataEncryption , in mehreren SQL Server-Editionen verfügbar und nicht nur auf Enterprise- oder Entwicklereditionen beschränkt.

Wenn Sie feststellen möchten, ob in einer Datenbank Funktionen verwendet werden, die nur in bestimmten Editionen verfügbar sind, führen Sie die folgende Anweisung in der Datenbank aus:

SELECT feature_name
FROM sys.dm_db_persisted_sku_features;
GO

Eine Liste der Features, die von den SQL Server-Editionen auf Windows unterstützt werden, finden Sie hier:

Eine Liste der Features, die von den SQL Server-Editionen auf Linux unterstützt werden, finden Sie hier: