Desabilitar Banco de Dados de Stretch e retornar dados remotos

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores – Somente Windows

Importante

O banco de dados de ampliação foi preterido no SQL Server 2022 (16.x) e no Banco de Dados SQL do Azure. Esse recurso será removido em uma versão futura do mecanismo de banco de dados. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Você pode usar o Transact-SQL para desabilitar o Stretch Database de uma tabela ou de um banco de dados.

Depois de desabilitar o Banco de Dados de Stretch de uma tabela, a migração de dados é interrompida e os resultados da consulta já não incluem os resultados da tabela remota.

Se você deseja pausar a migração de dados, confira Pausar e retomar a migração de dados (Stretch Database).

Observação

Desabilitar o Stretch Database para uma tabela ou para um banco de dados não exclui o objeto remoto. Se você quiser excluir a tabela remota ou o banco de dados remoto, descarte-o(a) usando o Portal de Gerenciamento do Azure. Os objetos remotos continuam incorrendo em custos do Azure até que você os exclua. Para saber mais, confira Preços do SQL Server Stretch Database.

Desabilitar o Stretch Database para uma tabela

Usar o Transact-SQL

  • Para desabilitar o Stretch para uma tabela e copiar os dados remotos para a tabela do Azure de volta para o SQL Server, execute o comando a seguir. Depois que todos os dados remotos forem copiados do Azure de volta para o SQL Server, o Stretch será desabilitado para a tabela.

    Esse comando não pode ser cancelado.

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

    A cópia dos dados remotos para a tabela do Azure de volta para o SQL Server gera custos de transferência de dados. Para saber mais, confira Detalhes de preços de transferências de dados.

  • Para desabilitar o Stretch de uma tabela e abandonar os dados remotos, execute o comando a seguir.

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

    Desabilitar o Stretch Database de uma tabela não exclui os dados remotos ou a tabela remota. Se você quiser excluir a tabela remota, descarte-a usando o Portal de Gerenciamento do Azure. A tabela remota continua a gerar custos do Azure até você excluí-la. Para saber mais, confira Preços do SQL Server Stretch Database.

Desabilitar o Banco de Dados de Stretch para um banco de dados

Antes de desabilitar o Stretch Database para um banco de dados, você precisa desabilitar o Stretch Database em tabelas individuais habilitadas para Stretch no banco de dados.

Usar o Transact-SQL

Execute o seguinte comando.

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

Desabilitar o Stretch Database de um banco de dados não exclui o banco de dados remoto. Se deseja excluir o banco de dados remoto, você deve descartá-la usando o Portal de Gerenciamento do Azure. O banco de dados remoto continua a gerar custos do Azure até você excluí-la. Para saber mais, confira Preços do SQL Server Stretch Database.

Confira também