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 может содержать следующие функции изменения баз данных, ограниченные выпусками SQL Server Enterprise или Developer.

  • Сжатие. Указывает, что по крайней мере одна таблица или индекс используют сжатие данных или формат хранения 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