Stretch Database 的限制
适用于: SQL Server 2016 (13.x) 及更高版本 - 仅限 Windows
重要
SQL Server 2022 (16.x) 和 Azure SQL 数据库中已弃用 Stretch Database。 在数据库引擎的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
了解有关启用 Stretch 的表的限制,以及当前为表启用 Stretch 的限制。
启用 Stretch 的表的限制
启用 Stretch 的表具有下列限制。
约束
- 在包含迁移数据的 Azure 表中,UNIQUE 约束和 PRIMARY KEY 约束并未强制唯一性。
DML 操作
在启用 Stretch 的表中或包含启用 Stretch 的表的视图中,无法更新或删除已迁移的或符合迁移条件的行。
无法在链接服务器上将行插入启用 Stretch 的表。
索引
无法为包含启用 Stretch 的表的视图创建索引。
对 SQL Server 索引创建的筛选器不会传播到远程表。
当前为表启用 Stretch 的限制
以下为当前阻止对表启用 Stretch 的项。
表属性
其中超过 1,023 列或超过 998 个索引的表
FileTable 或包含 FILESTREAM 数据的表
表被复制或正在使用“更改跟踪”或“更改数据捕获”
内存优化表
数据类型
- ntext、text 和 image
- timestamp
- sql_variant
- xml
- CLR 数据类型包括 geometry、geography、hierarchyid 和 CLR 用户定义类型
列类型
COLUMN_SET
计算列
约束
默认约束和 CHECK 约束
引用表的外键约束 在父子关系(如 Order 和 Order_Detail)中,可以为子表 (Order_Detail) 启用 Stretch,但不能为父表 (Order) 启用 Stretch。
索引
全文检索
XML 索引
空间索引
引用表的索引视图