暂停和恢复数据迁移(Stretch Database)

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

重要

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

要暂停或继续将数据迁移到 Azure,请在 SQL Server Management Studio 中选择某个表对应的“延伸”,然后选择“暂停”以暂停数据迁移,或选择“恢复”以恢复数据迁移。 你也可以使用 TRANSACT-SQL 来暂停或恢复数据迁移。

若要排查本地服务器上的问题,或最大限度地扩大可用网络带宽,请暂停各个表上的数据迁移。

暂停数据迁移

使用 SQL Server Management Studio

  1. 在 SQL Server Management Studio 的对象资源管理器中,选择要对其暂停数据迁移的已启用延伸的表。

  2. 右键单击并选择“Stretch”->“暂停”。

使用 Transact-SQL

运行以下命令。

USE [<Stretch-enabled database name>];
GO
ALTER TABLE [<Stretch-enabled table name>]
    SET ( REMOTE_DATA_ARCHIVE ( MIGRATION_STATE = PAUSED ) );
GO

恢复数据迁移

使用 SQL Server Management Studio

  1. 在 SQL Server Management Studio 的对象资源管理器中,选择要对其恢复数据迁移的已启用延伸的表。

  2. 右键单击并选择“Stretch”->“继续”。

使用 Transact-SQL

运行以下命令。

USE [<Stretch-enabled database name>];
GO
ALTER TABLE [<Stretch-enabled table name>]
    SET ( REMOTE_DATA_ARCHIVE ( MIGRATION_STATE = OUTBOUND ) );
GO

检查迁移处于活动状态还是暂停状态

使用 SQL Server Management Studio

在 SQL Server Management Studio 中,打开“Stretch Database 监视器”并检查“迁移状态”列的值。 有关详细信息,请参阅 数据迁移的监视与故障排除

使用 Transact-SQL

查询目录视图 sys.remote_data_archive_tables 并检查 is_migration_paused 列的值。 有关详细信息,请参阅 sys.remote_data_archive_tables

请参阅