Stretch Database

適用対象: SQL Server 2016 (13.x) 以降 - Windows のみ

重要

拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

Stretch Database は、コールド データを透過的かつ安全に Microsoft Azure クラウドに移行します。

Stretch Database を今すぐ開始する必要がある場合は、「 まずはデータベースのストレッチの有効化ウィザードを実行する」を参照してください。

Stretch Database の利点

Stretch Database には次のような利点があります。

  • コールド データ用のコスト効果の高い可用性。 ウォーム トランザクション データとコールド トランザクション データを、SQL Server Stretch Database を使用して、SQL Server から Microsoft Azure に動的にストレッチします。 一般的なコールド データ ストレージとは異なり、データは常にオンラインで、クエリで使用することができます。 また、顧客注文履歴など、大規模テーブルのコストを抑えながら、データ保有期間のタイムラインを長くできます。 高価なオンプレミス ストレージを拡張するのではなく、低コストの Azure をご利用ください。 Azure portal で価格レベルを選び、設定を構成することで、価格とコストを管理できます。 必要に応じてスケールアップまたはスケールダウンできます。 詳細については、「 SQL Server Stretch Database の価格 」を参照してください。

  • クエリまたはアプリケーションを変更する必要がない。 オンプレミスでも、クラウドに拡張されていても、SQL Server データにはシームレスにアクセスできます。 データの格納場所を決定するポリシーはユーザーが設定し、データ移動は SQL Server によってバックグラウンドで処理されます。 テーブル全体が常にオンラインなので、いつでもクエリを実行できるほか、 Stretch Database では既存のクエリまたはアプリケーションを変更する必要がなく、データの場所はアプリケーションに対して透過的です。

  • オンプレミスのデータのメンテナンスが効率化される。 オンプレミスのデータ メンテナンスとストレージの作業が軽減されます。 オンプレミス データのバックアップはさらに迅速になり、メンテナンス期間内に完了します。 データのクラウド部分のバックアップは自動的に行われ、 オンプレミス ストレージのニーズは大幅に減少し、 Azure ストレージのコストは、オンプレミスの SSD を追加した場合のコストよりも 80% 少なくなっています。

  • 移行の間もデータが保護される。 移行中も重要なアプリケーションのセキュリティは確保されるため安心です。 SQL Server の Always Encrypted では、移動中のデータが暗号化されます。 行レベルのセキュリティ (RLS) などの高度な SQL Server セキュリティ機能も Stretch Database で動作し、データを保護します。

Stretch Database の機能

SQL Server インスタンスおよびデータベースに対して Stretch Database を有効にして、1 つ以上のテーブルを選択すると、Stretch Database からコールド データの Azure への移行が確認メッセージなしで開始されます。

  • コールド データを別のテーブルに保存している場合は、そのテーブル全体を移行できます。

  • テーブルにホット データとコールド データの両方が含まれている場合は、移行する行を選択するフィルター関数を指定できます。

既存のクエリとクライアント アプリを変更する必要はありません。 データの移行中でも、ローカル データとリモート データの両方に引き続きシームレスにアクセスできます。 リモート クエリについては多少の待機時間がありますが、この待機時間が発生するのは、コールド データのクエリを実行するときに限られます。

移行中にエラーが発生しても、Stretch Database により、データが失われることがなくなります。 また、この Stretch Database には、移行中に発生する可能性のある接続の問題に対処する再試行ロジックも用意されています。 移行の状態は動的管理ビューに表示されます。

データの移行を一時停止して 、ローカル サーバーで発生した問題をトラブルシューティングしたり、使用可能なネットワーク帯域幅を最大化したりできます。

Diagram showing the Stretch Database overview.

Stretch Database を使用する状況

重要

拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

次に当てはまる場合は、Stretch Database がニーズへの対応と問題解決に役立つ可能性があります。

意思決定者の場合 DBA の場合
長期にわたってトランザクション データを保持しなければならない。 テーブルのサイズを制御しきれない。
コールド データにクエリを実行することがある。 コールド データにアクセスしたいが、めったに使用することはない、とユーザーが言っている。
更新したくないアプリ (古いアプリを含む) がある。 ストレージを購入および追加し続けなければならない。
ストレージのコストを節約する方法を見つけたい。 SLA 内でこのような大きなテーブルをバックアップまたは復元できない。

Stretch Database の候補となるデータベースとテーブル

Stretch Database は、通常は少数のテーブルに格納されている、大きなサイズのコールド データが含まれるトランザクション データベースを対象としています。 これらのテーブルには、10 億を超える行が含まれている場合があります。

SQL Server のテンポラル テーブルを使用している場合、Stretch Database を使用して、関連する履歴テーブルのすべてまたは一部をコスト効率のよい Azure の記憶域に移行します。 詳細については、「 システム バージョン管理されたテンポラル テーブルの履歴データの保有期間管理」を参照してください。

潜在的なブロッキングの問題の詳細については、「 Stretch Database の制限事項」を参照してください。

Stretch Database の試用

重要

拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

AdventureWorks サンプル データベースでの Stretch Database の試用。 AdventureWorks サンプル データベースを入手するには、 こちらから最小限のデータベース ファイルとサンプルおよびスクリプト ファイルをダウンロードしてください。 サンプル データベースを SQL Server 2016 のインスタンスに復元した後に、サンプル ファイルを解凍し、Stretch DB フォルダーの Stretch DB Samples ファイルを開きます。 このファイルのスクリプトを実行し、Stretch Database を有効にする前と後にデータで使用する領域を確認したり、データ移行の進行状況を追跡したり、引き続き既存のデータにクエリを実行し、データの移行中と移行後の両方で新しいデータを挿入できることを確認します。

次のステップ