Поделиться через


Отключение Stretch Database и возвращение удаленных данных

Область применения: SQL Server 2016 (13.x) и более поздних версий — только Windows

Внимание

Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Для отключения Stretch Database для таблицы или базы данных можно использовать Transact-SQL.

После отключения Stretch Database для таблицы миграция данных останавливается и результаты запроса больше не включают результаты из удаленной таблицы.

Если вы хотите узнать, как приостановить перенос данных, см. статью Приостановка и возобновление переноса данных (Stretch Database).

Примечание.

Отключение Stretch Database для таблицы или базы данных не приводит к удалению удаленного объекта. Если вы хотите удалить удаленную таблицу или базу данных, это нужно сделать с помощью портала управления Azure. Пока удаленные объекты не будут удалены, их хранение будет сопровождаться затратами в Azure. Дополнительные сведения о ценах на использование SQL Server Stretch Database см. на этой странице.

Отключение Stretch Database для таблицы

Использование Transact-SQL

  • Чтобы отключить Stretch для таблицы и скопировать удаленные данные для таблицы из Azure обратно в SQL Server, выполните следующую команду. После копирования всех удаленных данных из Azure в SQL Server база данных Stretch для таблицы будет отключена.

    Эту команду нельзя отменить.

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

    Копирование удаленных данных для таблицы из Azure обратно в SQL Server предусматривает расходы на передачу данных. Дополнительные сведения см. на странице Сведения о ценах —передача данных.

  • Чтобы отключить растяжение для таблицы и оставить удаленные данные в Azure, выполните следующую команду.

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

    Отключение Stretch Database для таблицы не приводит к удалению удаленных данных или удаленной таблицы. Если вы хотите удалить размещенную удаленно таблицу, вам нужно сделать это с помощью портала управления Azure. Пока расположенная удаленно таблица не будет удалена, ее хранение будет сопровождаться затратами в Azure. Дополнительные сведения о ценах на использование SQL Server Stretch Database см. на этой странице.

Отключение Stretch Database для базы данных

Перед отключением службы Stretch Database для базы данных необходимо отключить ее для отдельных таблиц базы данных, для которых она было включена.

Использование Transact-SQL

Выполните следующую команду.

ALTER DATABASE [<Stretch-enabled database name>]
    SET REMOTE_DATA_ARCHIVE = OFF;
GO

Отключение Stretch Database для базы данных не приводит к удалению удаленной базы данных. Если вы хотите удалить расположенную удаленно базу данных, вам потребуется сделать это с помощью портала управления Azure. Пока расположенная удаленно база данных не будет удалена, ее хранение будет сопровождаться затратами в Azure. Дополнительные сведения о ценах на использование SQL Server Stretch Database см. на этой странице.

См. также