Stretch Database 的限制

適用於:SQL Server 2016 (13.x) 和更新版本 - 僅限 Windows

重要

Stretch Database 在 SQL Server 2022 (16.x) 及 Azure SQL 資料庫中已被取代。 資料庫引擎的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

了解已啟用 Stretch 之資料表的限制,以及目前讓您無法為資料表啟用 Stretch 的限制。

已啟用 Stretch 之資料表的限制

已啟用 Stretch 的資料表具有下列限制。

條件約束

  • 在包含移轉過來資料的 Azure 資料表中,不會對 UNIQUE 條件約束和 PRIMARY KEY 條件約束強制執行唯一性。

DML 作業

  • 在已啟用 Stretch 的資料表中或包含已啟用 Stretch 之資料表的檢視中,您無法 UPDATE (更新) 或DELETE (刪除) 已移轉的資料列,或可進行移轉的資料列。

  • 您無法將資料列 INSERT (插入) 至連結伺服器上已啟用 Stretch 的資料表中。

索引

  • 您無法為含有已啟用 Stretch 之資料表的檢視建立索引。

  • 對 SQL Server 索引進行的篩選,不會傳播至遠端資料表。

目前讓您無法為資料表啟用 Stretch 的限制

下列項目目前讓您無法為資料表啟用 Stretch。

資料表屬性

  • 具有超過 1,023 個資料行或超過 998 個索引的資料表

  • FileTable 或包含 FILESTREAM 資料的資料表

  • 所複寫或主動使用變更追蹤或變更資料擷取的資料表

  • 記憶體最佳化的資料表

資料類型

  • textntextimage
  • timestamp
  • sql_variant
  • xml
  • CLR 資料類型,包括 geometrygeographyhierarchyid 和 CLR 使用者定義型別

資料行類型

  • COLUMN_SET

  • 計算資料行

條件約束

  • 預設條件約束和檢查條件約束

  • 參考資料表的外部索引鍵條件約束。 在父子式關聯性 (例如,Order 和 Order_Detail) 中,您可以啟用子資料表 (Order_Detail) 而非父資料表 (Order) 的 Stretch。

索引

  • 全文檢索索引

  • XML 索引

  • 空間索引

  • 參考資料表的索引檢視表

另請參閱