Enable Stretch Database for a tableEnable Stretch Database for a table

適用対象: ○SQL Server (2016 以降で Windows のみ)×Azure SQL Database×Azure SQL Data Warehouse ×Parallel Data WarehouseAPPLIES TO: yesSQL Server (Windows only starting with 2016) noAzure SQL Database noAzure SQL Data Warehouse 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. Transact-SQL を使用して、既存のテーブルで Stretch Database を有効にしたり、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. この記事の手順ではなく、「Stretch ウィザードに対するデータベースの有効化を実行して開始する」の手順に従います。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 を有効にするには、テーブルに対する ALTER 権限も必要です。Enabling Stretch Database on a table also requires ALTER permissions on the table.

注意

後で、Stretch Database を無効にする場合は、テーブルまたはデータベースで 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 ステートメントを実行してテーブルの Stretch を有効にして、フィルター関数を指定します。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. 必要な手順については、「 Add a filter function after running 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.

Transact-SQL を使用してテーブルで Stretch Database を有効にするUse Transact-SQL to enable Stretch Database on a table

Transact-SQL を使用して、既存のテーブルで Stretch Database を有効にしたり、Stretch Database が有効になっている新しいテーブルを作成したりできます。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 Database では、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 Database が有効になっている新しいテーブルを作成するCreate 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)