sys.dm_db_persisted_sku_features (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Alcune funzionalità del motore di database modificano la modalità di archiviazione delle informazioni nei file di database. Queste funzionalità sono limitate a edizioni specifiche di SQL Server. Un database che contiene queste funzionalità non può essere spostato in un'edizione di SQL Server che non li supporta. Usare la sys.dm_db_persisted_sku_features visualizzazione a gestione dinamica per elencare le funzionalità specifiche dell'edizione abilitate nel database corrente.

Nome colonna Tipo di dati Descrizione
feature_name sysname Nome esterno della funzionalità abilitata nel database ma non supportata in tutte le edizioni di SQL Server. Questa funzionalità deve essere rimossa prima di poter eseguire la migrazione del database a tutte le edizioni disponibili di SQL Server.
feature_id int ID funzionalità associato alla funzionalità. Identificato solo a scopo informativo. Non supportato. La compatibilità futura non è garantita.

Autorizzazioni

Per SQL Server 2019 (15.x) e versioni precedenti, è richiesta l'autorizzazione VIEW DATABA edizione Standard STATE per il database.

Per SQL Server 2022 (16.x) e versioni successive, è richiesta l'autorizzazione VIEW DATABA edizione Standard PERFORMANCE STATE per il database.

Osservazioni:

Se non sono presenti funzionalità che possono essere limitate da una specifica edizione nel database, la vista non restituisce righe.

sys.dm_db_persisted_sku_features può elencare le seguenti funzionalità di modifica del database come limitate a specifiche edizioni di SQL Server:

  • ChangeCapture: indica che un database dispone di Change Data Capture abilitato. Per rimuovere Change Data Capture, usare la stored procedure sys.sp_cdc_disable_db . Per altre informazioni, vedere Informazioni su Change Data Capture (SQL Server).

  • ColumnStoreIndex: indica che almeno una tabella ha un indice columnstore. Per consentire lo spostamento di un database in un'edizione di SQL Server che non supporta questa funzionalità, usare l'istruzione DROP INDEX o ALTER INDEX per rimuovere l'indice columnstore. Per altre informazioni, vedere Indici columnstore.

  • Compressione: indica che almeno una tabella o un indice usa la compressione dei dati o il formato di archiviazione vardecimal. Per consentire lo spostamento di un database in un'edizione di SQL Server che non supporta questa funzionalità, usare l'istruzione ALTER TABLE o ALTER INDEX per rimuovere la compressione dei dati. Per rimuovere il formato di archiviazione vardecimal, usare l'istruzione sp_tableoption . Per altre informazioni, vedere Data Compression.

  • MultipleFSContainers: indica che il database usa più contenitori FILESTREAM. Il database ha un filegroup FILESTREAM con più contenitori (file). Per altre informazioni, vedere FILESTREAM (SQL Server).

  • InMemoryOLTP: indica che il database usa OLTP in memoria. Al database è associato il filegroup MEMORY_OPTIMIZED_DATA. Per altre informazioni, vedere OLTP in memoria (ottimizzazione per la memoria).

  • Partizionamento. Indica che il database contiene tabelle partizionate, indici partizionati, schemi di partizione o funzioni di partizione. Per consentire lo spostamento di un database in un'edizione di SQL Server diversa da Enterprise o Developer, non è sufficiente modificare la tabella in una singola partizione. ma è necessario rimuovere la tabella partizionata. Se la tabella contiene dati, utilizzare SWITCH PARTITION per convertire ogni partizione in una tabella non partizionata. Eliminare quindi la tabella partizionata, lo schema di partizione e la funzione di partizione.

  • TransparentDataEncryption. Indica che un database viene crittografato utilizzando Transparent Data Encryption. Per rimuovere Transparent Data Encryption, utilizzare l'istruzione ALTER DATABASE. Per altre informazioni, vedere Transparent Data Encryption (TDE).

Nota

A partire da SQL Server 2016 (13.x) Service Pack 1, queste funzionalità, ad eccezione di TransparentDataEncryption sono disponibili in più edizioni di SQL Server e non sono limitate solo alle edizioni Enterprise o Developer.

Per determinare se in un database sono in uso funzionalità disponibili solo in edizioni specifiche, eseguire l'istruzione seguente nel database:

SELECT feature_name
FROM sys.dm_db_persisted_sku_features;
GO

Per un elenco delle funzionalità supportate dalle edizioni di SQL Server in Windows, vedere:

Per un elenco delle funzionalità supportate dalle edizioni di SQL Server in Linux, vedere: