Habilitar o Banco de Dados de Stretch para uma tabela

Aplica-se a: simSQL Server 2016 (13.x) e mais recente – somente Windows

Para configurar uma tabela para o Stretch Database, selecione Stretch | Habilitar para uma tabela no SQL Server Management Studio a fim de abrir o assistente Habilitar Tabela para Stretch . Você também pode usar o Transact-SQL para habilitar o Stretch Database em uma tabela existente ou para criar uma nova tabela com o Stretch Database habilitado.

  • Se você armazenar dados frios em uma tabela separada, poderá migrar a tabela inteira.

  • Se a tabela contiver dados quentes e frios, será possível especificar uma função de filtro para selecionar as linhas a serem migradas.

Pré-requisitos. Se você selecionar Stretch | Habilitar para uma tabela e ainda não tiver habilitado o Stretch Database para o banco de dados, o assistente configurará primeiro o banco de dados para o Stretch Database. Siga as etapas em Comece executando o Assistente para Habilitar o Banco de Dados para Stretch em vez das etapas deste artigo.

Permissões. A habilitação do Stretch Database em um banco de dados ou em uma tabela requer permissões db_owner. A habilitação do Stretch Database em uma tabela também requer permissões ALTER na tabela.

Observação

Mais tarde, se você desabilitar o Stretch Database, lembre-se de que desabilitar uma tabela ou um banco de dados do Stretch Database não excluirá 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 manualmente.

Usar o assistente para habilitar o Stretch Database em uma tabela

Iniciar o assistente

  1. No SQL Server Management Studio, no Pesquisador de objetos, selecione a tabela na qual você deseja habilitar o Stretch.

  2. Clique com o botão direito do mouse e selecione Stretch, e depois selecione Habilitar para iniciar o assistente.

Introdução
Verifique o objetivo do assistente e os pré-requisitos.

Selecionar tabelas do banco de dados
Confirme se a tabela que você quer habilitar é exibida e selecionada.

Você pode migrar uma tabela inteira ou especificar uma função de filtro simples no assistente. Se você desejar usar um tipo diferente de função de filtro para selecionar as linhas a serem migradas, siga um destes procedimentos.

  • Saia do assistente e execute a instrução ALTER TABLE para habilitar o Stretch para a tabela e especificar uma função de filtro.

  • Execute a instrução ALTER TABLE para especificar uma função de filtro depois que você sair do assistente. Para as etapas obrigatórias, consulte Adicionar uma função de filtro após executar o assistente.

A sintaxe ALTER TABLE é descrita posteriormente neste artigo.

Resumo
Examine os valores que você inseriu e as opções selecionadas no assistente. Em seguida, escolha Concluir para habilitar o Stretch.

Resultados
Examine os resultados.

Usar o Transact-SQL para habilitar o Stretch Database em uma tabela

Você pode habilitar o Stretch Database para uma tabela existente ou criar uma nova tabela com o Stretch Database habilitado usando Transact-SQL.

Opções

Use as seguintes opções ao executar CREATE TABLE ou ALTER TABLE para habilitar o Stretch Database em uma tabela.

  • Opcionalmente, use a cláusula FILTER_PREDICATE = <function> para especificar uma função a fim de selecionar linhas a serem migradas se a tabela contiver dados quentes e frios. O predicado deve chamar uma função embutida com valor de tabela. Para obter mais informações, consulte Selecione linhas para migrar usando uma função de filtro. Se você não especificar uma função de filtro, a tabela inteira será migrada.

    Importante

    Se você fornecer uma função de filtro precária, a migração de dados também será precária. O Stretch Database aplica a função de filtro à tabela usando o operador CROSS APPLY.

  • Especifique MIGRATION_STATE = OUTBOUND para iniciar a migração de dados imediatamente ou MIGRATION_STATE = PAUSED para adiar o início da migração de dados.

Habilitar o Stretch Database para uma tabela existente

Para configurar uma tabela existente para o Stretch Database, execute o comando ALTER TABLE.

Aqui está um exemplo que migra a tabela inteira e começa a migração de dados imediatamente.

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

Aqui está um exemplo que migra apenas as linhas identificadas pela função com valor de tabela embutida dbo.fn_stretchpredicate e adia a migração de dados. Para obter mais informações sobre a função de filtro, veja Select rows to migrate by using a filter function (Selecionar linhas a serem migradas usando uma função de filtro).

USE [<Stretch-enabled database name>];
GO
ALTER TABLE [<table name>]
    SET ( REMOTE_DATA_ARCHIVE = ON (  
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),  
        MIGRATION_STATE = PAUSED ) ) ;  
 GO

Para obter mais informações, consulte ALTER TABLE (Transact-SQL).

Criar uma nova tabela com o Stretch Database habilitado

Para criar uma nova tabela com o Stretch Database habilitado, execute o comando CREATE TABLE.

Aqui está um exemplo que migra a tabela inteira e começa a migração de dados imediatamente.

USE [<Stretch-enabled database name>];
GO
CREATE TABLE [<table name>]
    (
        col1 int
        /* replace the sample "col1" column shown above, with the actual list of columns */
    )
    WITH ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) ) ;  
GO

Aqui está um exemplo que migra apenas as linhas identificadas pela função com valor de tabela embutida dbo.fn_stretchpredicate e adia a migração de dados. Para obter mais informações sobre a função de filtro, veja Select rows to migrate by using a filter function (Selecionar linhas a serem migradas usando uma função de filtro).

USE [<Stretch-enabled database name>];
GO
CREATE TABLE [<table name>]
    (
        col1 int
        /* replace the sample "col1" column shown above, with the actual list of columns */
    )
    WITH ( REMOTE_DATA_ARCHIVE = ON (  
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),  
        MIGRATION_STATE = PAUSED ) ) ;  
GO  

Para obter mais informações, consulte CREATE TABLE (Transact-SQL).

Consulte Também

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)