sys.dm_db_persisted_sku_features (Transact-SQL)

Einige Funktionen von SQL Server Database Engine (Datenbankmodul) ändern die Art und Weise, wie Database Engine (Datenbankmodul) Informationen in den Datenbankdateien speichert. Diese Funktionen sind nicht in allen Editionen von SQL Server verfügbar. Eine Datenbank, die diese Funktionen enthält, kann nicht in eine Edition von SQL Server verschoben werden, die sie nicht unterstützt. Verwenden Sie die dynamische Verwaltungssicht sys.dm_db_persisted_sku_features, um alle editionsspezifischen Funktionen aufzulisten, die in der aktuellen Datenbank aktiviert sind.

Spaltenname

Datentyp

Beschreibung

feature_name

sysname

Externer Name der Funktion, die in der aktuellen Datenbank aktiviert ist, aber nicht in allen Editionen von SQL Server unterstützt wird. Diese Funktion 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. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt..

Berechtigungen

Erfordert die VIEW DATABASE STATE-Berechtigung für die Datenbank.

Hinweise

Wenn in der Datenbank keine Funktionen verwendet werden, die auf bestimmte Editionen beschränkt sind, dann werden in der Sicht keine Zeilen zurückgegeben.

sys.dm_db_persisted_sku_features listet möglicherweise die folgenden Features, durch die die Datenbank verändert wird, als auf die SQL Server Enterprise oder Developer Editionen beschränkte Features auf:

  • Komprimierung. Gibt an, dass mindestens eine Tabelle oder ein Index die Datenkomprimierung oder das vardecimal-Speicherformat verwendet. Damit eine Datenbank in eine andere Edition von SQL Server als die Enterprise oder Developer Edition verlagert werden kann, entfernen Sie mithilfe der Anweisung ALTER TABLE bzw. ALTER INDEX die Datenkomprimierung. Um das vardecimal-Speicherformat zu entfernen, verwenden Sie die sp_tableoption-Anweisung. Weitere Informationen finden Sie unter Speichern von Dezimaldaten als Daten variabler Länge.

  • 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 die Enterprise oder Developer Edition verlagert werden kann, genügt es nicht, die Tabelle dahingehend abzuändern, dass sie sich in einer einzigen Partition befindet. 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. Weitere Informationen finden Sie unter Ändern von partitionierten Tabellen und Indizes.

  • 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 Grundlegendes zur transparenten Datenverschlüsselung (TDE).

  • ChangeCapture. Gibt an, dass eine Datenbank für Change Data Capture aktiviert ist. Um die Change Data Capture zu entfernen, verwenden Sie die gespeicherte Prozedur sys.sp_cdc_disable_db. Weitere Informationen finden Sie unter Konfigurieren von Change Data Capture.

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