Поделиться через


sys.dm_db_persisted_sku_features (Transact-SQL)

Некоторые функции компонента Компонент SQL Server Database Engine изменяют способ, с помощью которого Компонент Database Engine хранит информацию в файлах базы данных. Эти функции зависят от конкретных выпусков SQL Server. Использующую эти функции базу данных невозможно переместить в выпуск SQL Server, не поддерживающий их. Чтобы просмотреть список зависящих от выпуска функций, включенных в текущей базе данных, нужно воспользоваться динамическим административным представлением sys.dm_db_persisted_sku_features.

Имя столбца

Тип данных

Описание

feature_name

sysname

Внешнее имя функции, включенной в базе данных, но не поддерживаемой всеми выпусками SQL Server. Чтобы обеспечить возможность переноса базы данных на все доступные выпуски SQL Server, эту функцию необходимо удалить.

feature_id

int

Связанный с функцией идентификатор. Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется..

Разрешения

Необходимо разрешение VIEW DATABASE STATE на базу данных.

Замечания

Если в базе данных не используются функции, ограниченные конкретными выпусками, представление не возвращает строк.

Представление sys.dm_db_persisted_sku_features может содержать следующие функции изменения баз данных, ограниченные выпусками Enterprise или Developer SQL Server.

  • ColumnStoreIndex. Указывает, что минимум одна таблица имеет индекс columnstore, оптимизированный для памяти xVelocity. Чтобы обеспечить возможность перемещения базы данных в выпуск SQL Server, отличный от Enterprise или Developer, необходимо удалить индекс columnstore с помощью инструкции DROP INDEX или ALTER INDEX.

    Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии).

  • Сжатие. Указывает, что по крайней мере одна таблица или индекс используют сжатие данных или формат хранения vardecimal. Чтобы обеспечить возможность перемещения базы данных в выпуск SQL Server, отличный от Enterprise или Developer, необходимо отключить сжатие данных с помощью инструкции ALTER TABLE или ALTER INDEX. Чтобы удалить формат хранения vardecimal, используйте инструкцию sp_tableoption.

  • Секционирование. Указывает, что база данных содержит секционированные таблицы или индексы, схемы или функции секционирования. Чтобы обеспечить возможность перемещения базы данных в выпуск SQL Server, отличный от Enterprise или Developer, недостаточно просто изменить таблицу, поместив ее в одну секцию. Необходимо удалить секционированную таблицу. Если таблица содержит данные, конвертировать каждую секцию в несекционированную таблицу можно с помощью инструкции SWITCH PARTITION. Затем необходимо удалить секционированную таблицу, схему секционирования и функцию секционирования.

  • TransparentDataEncryption. Указывает, что база данных зашифрована с помощью прозрачного шифрования данных. Чтобы удалить прозрачное шифрование данных, используйте инструкцию ALTER DATABASE. Дополнительные сведения см. в разделе Прозрачное шифрование данных (TDE).

  • ChangeCapture. Указывает, что в базе данных включена система отслеживания измененных данных. Чтобы удалить отслеживание измененных данных, воспользуйтесь хранимой процедурой sys.sp_cdc_disable_db.

Чтобы определить, используются ли в базе данных функции, ограниченные конкретными выпусками, выполните следующую инструкцию:

SELECT feature_name FROM sys.dm_db_persisted_sku_features ;
GO

См. также

Справочник

Динамические административные представления и функции (Transact-SQL)

Динамические административные представления базы данных (Transact-SQL)