Stretch Database を無効にしてリモート データを戻す
適用対象: SQL Server 2016 (13.x) 以降 - Windows のみ
重要
拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。
Transact-SQL を使用してテーブルまたはデータベースで Stretch Database を無効にすることができます。
テーブルの Stretch Database を無効にすると、データ移行が停止し、クエリ結果にリモート テーブルからの結果が含まれなくなります。
データの移行を一時停止する場合は、「データ移行の一時停止と再開 (Stretch Database)」を参照してください。
Note
テーブルまたはデータベースの 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 にコピーして戻すと、データ転送コストが発生します。 詳細については、「 Data Transfers (データ転送) の料金詳細」を参照してください。
テーブルの Stretch を無効にしてリモート データを破棄するには、次のコマンドを実行します。
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 を無効にする前に、データベース内で Stretch が有効な個々のテーブルに対する Stretch Database を無効にする必要があります。
Transact-SQL の使用
次のコマンドを実行します。
ALTER DATABASE [<Stretch-enabled database name>]
SET REMOTE_DATA_ARCHIVE = OFF;
GO
データベースで Stretch Database を無効にしても、リモート データベースは削除されません。 リモート データベースを削除する場合は、Microsoft Azure 管理ポータルを使用して削除する必要があります。 リモート データベースを削除するまで、引き続き Azure のコストが発生します。 詳細については、「 SQL Server Stretch Database の価格」をご覧ください。