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)