Partilhar via


sys.dm_db_persisted_sku_features (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

Alguns recursos do Mecanismo de Banco de Dados alteram a maneira como as informações são armazenadas nos arquivos de banco de dados. Esses recursos são restritos a edições específicas do SQL Server. Um banco de dados que contém esses recursos não pode ser movido para uma edição do SQL Server que não ofereça suporte a eles. Use o modo de exibição de gerenciamento dinâmico sys.dm_db_persisted_sku_features para listar recursos específicos da edição habilitados no banco de dados atual.

Nome da coluna Tipo de dados Descrição
feature_name sysname Nome externo do recurso habilitado no banco de dados, mas sem suporte em todas as edições do SQL Server. Esse recurso deve ser removido antes que o banco de dados possa ser migrado para todas as edições disponíveis do SQL Server.
feature_id int ID do recurso associado ao recurso. Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

Permissões

Para o SQL Server 2019 (15.x) e versões anteriores, requer a permissão VIEW DATABASE STATE no banco de dados.

Para SQL Server 2022 (16.x) e versões posteriores, requer a permissão VIEW DATABASE PERFORMANCE STATE no banco de dados.

Comentários

Se não houver recursos que possam ser restringidos por uma edição específica no banco de dados, o modo de exibição não retornará linhas.

sys.dm_db_persisted_sku_features pode listar os seguintes recursos de alteração de banco de dados restritos a edições específicas do SQL Server:

  • ChangeCapture: indica que um banco de dados tem a captura de dados de alteração habilitada. Para remover a captura de dados de alteração, use o sys.sp_cdc_disable_db procedimento armazenado. Para obter mais informações, consulte Sobre a captura de dados de alteração (SQL Server).

  • ColumnStoreIndex: Indica que pelo menos uma tabela tem um índice columnstore. Para permitir que um banco de dados seja movido para uma edição do SQL Server que não ofereça suporte a esse recurso, use a instrução DROP INDEX ou instrução ALTER INDEX para remover o índice columnstore. Para obter mais informações, consulte índices Columnstore.

  • de compactação: indica que pelo menos uma tabela ou índice usa compactação de dados ou o formato de armazenamento vardecimal. Para permitir que um banco de dados seja movido para uma edição do SQL Server que não ofereça suporte a esse recurso, use a instrução ALTER TABLE ou instrução ALTER INDEX para remover a compactação de dados. Para remover o formato de armazenamento vardecimal, use a instrução sp_tableoption. Para obter mais informações, consulte de compactação de dados .

  • MultipleFSContainers: Indica que o banco de dados usa vários contêineres FILESTREAM. O banco de dados tem um grupo de arquivos FILESTREAM com vários contêineres (arquivos). Para obter mais informações, consulte FILESTREAM (SQL Server).

  • InMemoryOLTP: indica que o banco de dados usa In-Memory OLTP. O banco de dados tem um MEMORY_OPTIMIZED_DATA grupo de arquivos. Para obter mais informações, consulte In-Memory OLTP (In-Memory Optimization).

  • Particionamento. Indica que o banco de dados contém tabelas particionadas, índices particionados, esquemas de partição ou funções de partição. Para permitir que um banco de dados seja movido para uma edição do SQL Server diferente de Enterprise ou Developer, é insuficiente modificar a tabela para estar em uma única partição. Você deve remover a tabela particionada. Se a tabela contiver dados, use SWITCH PARTITION para converter cada partição em uma tabela não particionada. Em seguida, exclua a tabela particionada, o esquema de partição e a função de partição.

  • TransparentDataEncryption. Indica que um banco de dados é criptografado usando criptografia de dados transparente. Para remover a criptografia de dados transparente, use a instrução ALTER DATABASE. Para obter mais informações, consulte Transparent Data Encryption (TDE).

Observação

A partir do SQL Server 2016 (13.x) Service Pack 1, esses recursos, exceto TransparentDataEncryption estão disponíveis em várias edições do SQL Server e não estão limitados apenas às edições Enterprise ou Developer.

Para determinar se um banco de dados usa algum recurso restrito a edições específicas, execute a seguinte instrução no banco de dados:

SELECT feature_name
FROM sys.dm_db_persisted_sku_features;
GO

Para obter uma lista de recursos suportados pelas edições do SQL Server no Windows, consulte:

Para obter uma lista de recursos suportados pelas edições do SQL Server no Linux, consulte: