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