源 SQL Server 数据库

此页面包含有关以下内容的信息:

  • Datastream 处理从 SQL Server 源数据库拉取的数据的行为。
  • Datastream 支持的 SQL Server 数据库版本。
  • 使用 SQL Server 数据库作为源的已知限制。

行为

Datastream 使用 API 来跟踪数据操纵语言 (DML) 变更 CDC 方法:

事务日志

使用此 CDC 方法时,Datastream 会读取来源中的更改 处理事务日志这种方法需要的资源较少, 可加快数据检索速度,但具有更多限制

为防止数据丢失,请务必确保日志未被截断 Datastream 会读取它们。另一方面,如果您保留 它们会占用存储空间,最终可能会导致 实例进入只读模式。

为了确保 CDC 读取器有足够的时间来读取日志,同时允许 日志截断以释放存储空间,则需要应用额外的配置 例如,更改轮询间隔和设置截断保护措施。 这些步骤提供了一层额外的保护,可确保 Datastream 即使 Datastream 端停机或出现故障, 源数据库与 Datastream 之间的连接问题。

有关如何应用这些额外措施的详细说明,请参阅 配置源 SQL Server 数据库 页面并选择您的数据库类型。

变更表

通过更改表 CDC 方法,用户可以缩短日志保留时间,因此 可以节省存储空间,但支持的吞吐量低于事务 logs 方法。此方法的限制比事务日志少。例如: 它消除了因日志截断而导致数据流永久失败的风险, 并且支持复制加密表。如需了解详情,请参阅 已知限制

使用此 CDC 方法时,使用专用 CDC 方法来跟踪对来源的更改 更改表。事务日志仍会被使用,但其使用范围会受到限制,并且 无需将其保留更长时间。当 DML 事件应用于 源表,因此这些更改会复制到相应的更改表。 更改表的结构与源表相同, 列中包含这些更改的元数据。只有已提交的事务 以及 提交操作。

版本

Datastream 支持以下版本和版本的 SQL Server 数据库:

  • 自行管理(本地或云托管)的以下版本: <ph type="x-smartling-placeholder">
      </ph>
    • 企业:2008 年及之后
    • Standard:2016 SP1 及更高版本
    • 开发者:2008 年及之后
  • Amazon RDS for SQL Server
  • Azure SQL 数据库(第 S3 层级及更高层级)。

  • Cloud SQL for SQL Server

Datastream 不支持以下版本的 SQL Server 数据库:

  • SQL Server Standard 版本 2008 至 2014
  • SQL Server Express
  • SQL Server Web

已知限制

使用 SQL Server 数据库作为源的已知限制包括:

  • 数据流限 10,000 个表。
  • 无法回填包含超过 5 亿行的表,除非 满足以下条件: <ph type="x-smartling-placeholder">
      </ph>
    1. 该表具有唯一索引。
    2. 所有索引列均不可为 null。
    3. 索引的所有列都包含在数据流中。
  • 启用了延迟耐用性或加速数据库恢复 (ADR) 的数据库 不受支持。
  • 不支持对系统表进行流式更改。
  • 不支持 Windows Active Directory (AD) 身份验证。
  • Datastream 不支持正向 SSH 隧道连接方法 。
  • 以下数据类型不受支持,并且不会复制到目标位置: <ph type="x-smartling-placeholder">
      </ph>
    • SQL_VARIANT
    • HIERARCHYID
    • GEOMETRY
    • GEOGRAPHY
  • Datastream 会复制用户定义的数据类型,但它是基础 您从中派生存储在 目标。例如,如果您根据USERNAME VARCHAR(50) 数据类型,数据将作为 VARCHAR(50) 存储在目标位置。
  • Datastream 不支持大型对象列(TEXTNTEXTXMLIMAGE)和可变长度上限列 (VARCHAR(MAX)VARBINARY(MAX)NVARCHAR(MAX))在没有唯一 索引中。

    如果数据流中未包含大型对象列,则支持 CDC。

  • Datastream 不支持数据遮盖。无需复制数据, 遮盖。

  • Datastream 不支持复制应用于数据库的更改 使用数据层应用包 (DACPAC) 包。

  • Datastream 不会复制使用 WRITETEXTUPDATETEXT 语句。

  • Datastream 不支持复制计算列

  • Datastream 不支持 PAGECOLUMNSTORECOLUMNSTORE ARCHIVE 压缩类型。

  • SQL Server 源不支持数据流恢复。

使用事务日志方法时的其他限制

如果您使用事务日志 CDC 方法,则还存在以下额外限制 应用:

  • 不支持透明数据加密 (TDE)。
  • 不支持列级加密。这些列中的数据将替换为 NULL 值。
  • Datastream 不支持 ROLLBACK TO SAVEPOINT 语句。 此类回滚事件会被忽略,并且不会复制到目标位置。
  • Datastream 不支持对大小超过 8 KB 的行进行 CDC 以下类型的表: <ph type="x-smartling-placeholder">
      </ph>
    • 没有唯一索引的表
    • 仅包含具有一个或多个唯一非聚类索引的表 长度可变的列(VARCHARVARBINARYNVARCHAR
  • Datastream 不支持大型对象列(TEXTNTEXTXMLIMAGE)。

    • 没有唯一索引的表
    • 仅包含具有一个或多个唯一非聚类索引的表 长度可变的列(VARCHARVARBINARYNVARCHAR

    如果数据流中不包含大型对象列,则仅支持 CDC (前提是这些表具有有效索引)。