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 版本的資料庫變更功能:
**ColumnStoreIndex。**指出至少有一個資料表具有 xVelocity 記憶體最佳化的資料行存放區索引。 若要讓資料庫移到 Enterprise 或 Developer 以外的 SQL Server 版本,請使用 DROP INDEX 或 ALTER INDEX 陳述式來移除資料行存放區索引。
適用於:SQL Server (SQL Server 2012 至目前版本)。
**壓縮。**指出至少有一個資料表或索引使用資料壓縮或 Vardecimal 儲存格式。 若要讓資料庫移到 Enterprise 或 Developer 以外的 SQL Server 版本,請使用 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