Включение Stretch Database для таблицыEnable Stretch Database for a table

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server 2016 и более поздние версии (только в Windows) нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data WarehouseAPPLIES TO: yesSQL Server 2016 and later (Windows only) noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Чтобы настроить таблицу для Stretch Database, в SQL Server Management Studio выберите для нужной таблицы команду Растяжение | Включить , чтобы открыть мастер Включение растяжения для таблицы .To configure a table for Stretch Database, select Stretch | Enable for a table in SQL Server Management Studio to open the Enable Table for Stretch wizard. Stretch Database для таблицы можно включить также с помощью Transact-SQL. Либо можно создать новую таблицу, уже настроенную для Stretch Database.You can also use Transact-SQL to enable Stretch Database on an existing table, or to create a new table with Stretch Database enabled.

  • Если холодные данные хранятся в отдельной таблице, эту таблицу можно перенести полностью.If you store cold data in a separate table, you can migrate the entire table.

  • Если таблица содержит как горячие, так и холодные данные, строки для переноса можно выбрать с помощью функции фильтров.If your table contains both hot and cold data, you can specify a filter function to select the rows to migrate.

Предварительные требования.Prerequisites. Если при выборе Растяжение | Включить для таблицы вы не включили Stretch Database для базы данных, то мастер сначала настроит базу данных для Stretch Database.If you select Stretch | Enable for a table, and you have not yet enabled Stretch Database for the database, the wizard first configures the database for Stretch Database. Следуйте указаниям в статье Запуск мастера включения растяжения для базы данных вместо пошаговых инструкций в этой статье.Follow the steps in Get started by running the Enable Database for Stretch Wizard instead of the steps in this article.

Разрешения.Permissions. Чтобы настроить Stretch Database для таблицы или базы данных, требуются разрешения db_owner.Enabling Stretch Database on a database or a table requires db_owner permissions. Чтобы включить Stretch Database в таблице, нужно обладать правами на изменение таблицы.Enabling Stretch Database on a table also requires ALTER permissions on the table.

Примечание

В случае последующего отключения Stretch Database для таблицы или базы данных помните, что такое отключение не приводит к удалению дистанционного объекта.Later, if you disable Stretch Database, remember that disabling Stretch Database for a table or for a database does not delete the remote object. Если вы хотите удалить удаленную таблицу или базу данных, это нужно сделать с помощью портала управления Azure.If you want to delete the remote table or the remote database, you have to drop it by using the Azure management portal. Пока удаленные объекты не будут удалены вручную, их хранение будет сопровождаться затратами в Azure.The remote objects continue to incur Azure costs until you delete them manually.

Настройка Stretch Database для таблицы в с помощью мастераUse the wizard to enable Stretch Database on a table

Запуск мастераLaunch the wizard

  1. В среде SQL Server Management Studio в обозревателе объектов выберите таблицу, для которой нужно включить перенос.In SQL Server Management Studio, in Object Explorer, select the table on which you want to enable Stretch.

  2. Щелкните таблицу правой кнопкой мыши и выберите Растяжениеи Включить , чтобы запустить мастер.Right-click and select Stretch, and then select Enable to launch the wizard.

ВведениеIntroduction
Изучите информацию о назначении мастера и предварительные требования.Review the purpose of the wizard and the prerequisites.

Выбор таблиц из базы данныхSelect database tables
Убедитесь, что выбрана нужная таблица.Confirm that the table you want to enable is displayed and selected.

Можно перенести таблицу полностью или указать простую функцию фильтров в мастере.You can migrate an entire table or you can specify a simple filter function in the wizard. Если вы хотите использовать другой тип функции фильтров, чтобы выбрать строки для переноса, выполните одно из следующих действий.If you want to use a different type of filter function to select rows to migrate, do one of the following things.

  • Закройте мастер и выполните инструкцию ALTER TABLE, чтобы включить растяжение для таблицы и указать функцию фильтров.Exit the wizard and run the ALTER TABLE statement to enable Stretch for the table and to specify a filter function.

  • Выполните инструкцию ALTER TABLE, чтобы указать функцию фильтров после выхода из мастера.Run the ALTER TABLE statement to specify a filter function after you exit the wizard. Необходимые пошаговые инструкции см. в статье Добавление функции фильтров после запуска мастера.For the required steps, see Add a filter function after running the Wizard.

Синтаксис ALTER TABLE описан далее в этой статье.The ALTER TABLE syntax is described later in this article.

СводкаSummary
Просмотрите введенные значения и выбранные в мастере параметры.Review the values that you entered and the options that you selected in the wizard. Нажмите кнопку Готово , чтобы включить растягивание.Then select Finish to enable Stretch.

РезультатыResults
Просмотрите результаты операции.Review the results.

Настройка Stretch Database для таблицы с помощью Transact-SQLUse Transact-SQL to enable Stretch Database on a table

Вы можете включить Stretch Database для существующей таблицы или создать новую таблицу с поддержкой Stretch Database с помощью Transact-SQL.You can enable Stretch Database for an existing table or create a new table with Stretch Database enabled by using Transact-SQL.

ПараметрыOptions

При выполнении CREATE TABLE или ALTER TABLE для включения Stretch Database для таблицы используйте следующие параметры.Use the following options when you run CREATE TABLE or ALTER TABLE to enable Stretch Database on a table.

  • Если в таблице содержатся горячие и холодные данные, можно использовать предложение FILTER_PREDICATE = <function> , чтобы задать функцию для выбора переносимых строк.Optionally, use the FILTER_PREDICATE = <function> clause to specify a function to select rows to migrate if the table contains both hot and cold data. Этот предикат должен вызывать встроенную функцию с табличным значением.The predicate must call an inline table-valued function. Дополнительные сведения см. в разделе Выбор строк для миграции с использованием функции фильтров.For more info, see Select rows to migrate by using a filter function. Если функция фильтров не указана, переносится вся таблица.If you don't specify a filter function, the entire table is migrated.

    Важно!

    Если указать плохо оптимизированную функцию фильтров, перенос данных будет выполняться медленно.If you provide a filter function that performs poorly, data migration also performs poorly. База данных Stretch применяет функцию фильтров к таблице с помощью оператора CROSS APPLY.Stretch Database applies the filter function to the table by using the CROSS APPLY operator.

  • Укажите MIGRATION_STATE = OUTBOUND , чтобы немедленно запустить перенос данных, либо MIGRATION_STATE = PAUSED , чтобы отложить его.Specify MIGRATION_STATE = OUTBOUND to start data migration immediately or MIGRATION_STATE = PAUSED to postpone the start of data migration.

Включение Stretch Database для существующей таблицыEnable Stretch Database for an existing table

Чтобы настроить существующую таблицу для использования со службой Stretch Database, выполните инструкцию ALTER TABLE.To configure an existing table for Stretch Database, run the ALTER TABLE command.

Ниже приведен пример, в котором переносится вся таблица и перенос данных начинается немедленно.Here's an example that migrates the entire table and begins data migration immediately.

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

Ниже приведен пример, в котором переносятся только строки, возвращаемые встроенной функцией с табличным значением dbo.fn_stretchpredicate . Начало переноса откладывается.Here's an example that migrates only the rows identified by the dbo.fn_stretchpredicate inline table-valued function and postpones data migration. Дополнительные сведения о функции фильтров см. в статье Выбор строк для миграции с использованием функции фильтров.For more info about the filter function, see Select rows to migrate by using a filter function.

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

Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).For more info, see ALTER TABLE (Transact-SQL).

Создание новой таблицы с поддержкой Stretch DatabaseCreate a new table with Stretch Database enabled

Чтобы создать новую таблицу с поддержкой Stretch Database, выполните команду CREATE TABLE.To create a new table with Stretch Database enabled, run the CREATE TABLE command.

Ниже приведен пример, в котором переносится вся таблица и перенос данных начинается немедленно.Here's an example that migrates the entire table and begins data migration immediately.

USE <Stretch-enabled database name>;
GO
CREATE TABLE <table name>
    ( ... )  
    WITH ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) ) ;  
GO

Ниже приведен пример, в котором переносятся только строки, возвращаемые встроенной функцией с табличным значением dbo.fn_stretchpredicate . Начало переноса откладывается.Here's an example that migrates only the rows identified by the dbo.fn_stretchpredicate inline table-valued function and postpones data migration. Дополнительные сведения о функции фильтров см. в статье Выбор строк для миграции с использованием функции фильтров.For more info about the filter function, see Select rows to migrate by using a filter function.

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

Дополнительные сведения см. в разделе CREATE TABLE (Transact-SQL).For more info, see CREATE TABLE (Transact-SQL).

См. также:See Also

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