sys.sp_rda_reconcile_batch (Transact-SQL)

适用于:SQL Server 2016 (13.x) 及更高版本

将已启用 Stretch 的 SQL Server 表中存储的批处理 ID 与存储在远程 Azure 表中的批处理 ID 进行协调。

重要

SQL Server 2022 (16.x) 和 Azure SQL 数据库中已弃用 Stretch Database。 在数据库引擎的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

通常,仅当已手动删除远程表中最近迁移的数据时,才需要运行 sp_rda_reconcile_batch 。 手动删除包含最新批的远程数据时,批 ID 同步不足,迁移停止。

若要删除已迁移到 Azure 的数据,请参阅此页上的“备注”。

Transact-SQL 语法约定

语法

sp_rda_reconcile_batch @objname = '@objname'
[ ; ]

参数

@objname = '@objname'

已启用 Stretch 的 SQL Server 表的名称。

权限

需要 db_owner 权限。

备注

如果要删除已迁移到 Azure 的数据,请执行以下操作。

  1. 暂停数据迁移。 有关详细信息,请参阅暂停和恢复数据迁移(Stretch Database)。

  2. 通过运行带STAGE_ONLY提示的DELETE命令,从 SQL Server 暂存表中删除数据。 有关详细信息,请参阅 “进行管理更新和删除”。

  3. 使用提示运行 DELETE 命令 REMOTE_ONLY ,从远程 Azure 表中删除相同的数据。

  4. 运行 sp_rda_reconcile_batch

  5. 恢复数据迁移。 有关详细信息,请参阅暂停和恢复数据迁移(Stretch Database)。

示例

若要协调批处理 ID,请运行以下语句。

EXEC sp_rda_reconcile_batch
    @objname = N'StretchEnabledTableName';