まずはデータベースのストレッチの有効化ウィザードを実行する
適用対象: SQL Server 2016 (13.x) 以降 - Windows のみ
重要
拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。
Stretch Database のデータベースを構成するには、データベースのストレッチの有効化ウィザードを実行します。 この記事では、入力する必要がある情報と、ウィザードで必要な選択について説明します。
Stretch Database の詳細については、「 Stretch Database」を参照してください。
Note
後で、Stretch Database を無効にする場合は、テーブルまたはデータベースで Stretch Database を無効にしてもリモート オブジェクトは削除されないことに注意してください。 リモート テーブルまたはリモート データベースを削除する場合は、Azure 管理ポータルを使用して削除する必要があります。 リモート オブジェクトを手動で削除するまで、引き続き Azure ストレージのコストが発生します。
ウィザードを起動する
SQL Server Management Studio のオブジェクト エクスプローラーで、ストレッチを有効にするデータベースを選択します。
右クリックして [タスク] > [ストレッチ] > [有効化] を選択し、ウィザードを起動します。
はじめに
ウィザードの目的と前提条件を確認します。
次に重要な前提条件を示します。
- データベース設定の変更が可能な管理者である必要があります。
- Microsoft Azure のサブスクリプションが必要です。
- SQL Server がリモートの Azure サーバーと通信できる必要があります。
テーブルを選択する
Stretch を有効にするテーブルを選択します。
多数の行があるテーブルが、並べ替え済み一覧の上部に表示されます。 ウィザードでは、テーブルの一覧を表示する前に、Stretch Database で現在サポートされていないデータ型を分析します。
列 | 説明 |
---|---|
(タイトルなし) | 選択したテーブルの Stretch を有効にするにはこの列のチェック ボックスを選択します。 |
名前 | データベースのテーブル名を指します。 |
(タイトルなし) | この列には、選択したテーブルで Stretch を無効にはしない警告記号が表示される場合があります。 また、たとえば、テーブルでサポートされていないデータ型が使用されているなど、選択したテーブルで Stretch を有効化しないブロックの問題が表示される場合もあります。 ツールヒントの詳細な情報を表示するには、記号の上にマウス ポインターを移動します。 詳細については、「 Stretch Database の制限事項」を参照してください。 |
ストレッチ済み | テーブルが既に Stretch 用に有効であるかどうかを示します。 |
移行 | テーブル全体を移行 ([テーブル全体]) することも、表の既存の列にフィルターを指定することもできます。 移行する行を選択するのに、別のフィルター関数を使用する場合、ウィザードを終了した後、ALTER TABLE ステートメントを実行してフィルター関数を指定します。 フィルター関数の詳細については、「フィルター関数を使用して、移行する行を選択する」を参照してください。 関数の適用方法の詳細については、「テーブルに対して Stretch Database を有効にする」または「ALTER TABLE (Transact-SQL)」を参照してください。 |
行数 | テーブルの行数を指定します。 |
[サイズ (KB)] | テーブルのサイズを KB で指定します。 |
オプションで行フィルターを指定する
移行する行を選択するフィルター機能を指定する場合に、[ テーブルの選択 ] ページで次の処理を行います。
[Select the tables you want to stretch] (拡張するテーブルを選択します) リスト内のテーブルの行で、[テーブル全体] を選択します。 [ 拡張する行の選択 ] ダイアログ ボックスが開きます。
[ 拡張する行の選択 ] ダイアログ ボックスで [ 行の選択] を選択します。
[ 名前] フィールドに、フィルター関数の名前を指定します。
Where 句には、テーブルから列、演算子を選択し、値を指定します。
[確認] を選択して、関数をテストします。 関数によって、テーブルから結果が返される場合、つまり、条件を満たす移行する行がある場合、テストによって [ 成功] がレポートされます。
Note
フィルター クエリを表示するテキストボックスは読み取り専用です。 テキストボックスのクエリは編集できません。
[終了] を選択して [テーブルの選択] ページに戻ります。
フィルター関数は、ウィザードを終了した場合にのみ、SQL Server に作成されます。 それまでは、[ テーブルの選択 ] ページに戻って、フィルター関数を変更したり、名前を変更したりすることができます。
移行する行を選択するために別の種類のフィルター関数を使用する場合、次のいずれかの操作を行います。
ウィザードを終了し、ALTER TABLE ステートメントを実行してテーブルの Stretch を有効にして、フィルター関数を指定します。 詳細については、「 テーブルに対して Stretch Database を有効にする」を参照してください。
ウィザードを終了した後、ALTER TABLE ステートメントを実行してフィルター関数を指定します。 必要な手順については、「 Add a filter function after running the Wizard」 (ウィザードの実行後、フィルター関数を追加する) を参照してください。
Azure を構成する
Microsoft アカウントを使用して Microsoft Azure にサインインします。
Stretch Database に使用する既存の Azure サブスクリプションを選択します。
Note
データベース上で Stretch を有効にするには、使用しているサブスクリプションへの管理者権限が必要です。 Stretch Database ウィザードでは、ユーザーが管理者権限を持っているサブスクリプションのみが表示されます。
Stretch Database で使用する Azure リージョンを選択します。
新しいサーバーを作成すると、このリージョンにサーバーが作成されます。
選択したリージョンに既にサーバーがある場合、[ 既存のサーバー] を選択すると、それらがウィザードにリストされます。
待機時間を最小限に抑えるには、SQL Server が配置されている Azure リージョンを選択してください。 リージョンの詳細については、「 Azure のリージョン」を参照してください。
既存のサーバーを使用するか新しい Azure サーバーを作成するかを指定します。
SQL Server の Active Directory と Microsoft Entra ID (旧 Azure Active Directory) をフェデレーションすると、リモートの Azure サーバーとの通信で、必要に応じて SQL Server のフェデレーション サービス アカウントを使用することができます。 このオプションの要件に関する詳細については、「 ALTER DATABASE の SET オプション (Transact-SQL)」を参照してください。
新しいサーバーを作成する
サーバー管理者のログイン名とパスワードを作成します。
必要に応じて、SQL Server のフェデレーション サービス アカウントを使用して、リモートの Azure サーバーと通信することができます。
既存のサーバー
既存の Azure サーバーを選択します。
認証方法を選択します。
[SQL Server 認証]を選択した場合は、管理者のログインとパスワードを入力します。
SQL Server のフェデレーション サービス アカウントを使用してリモートの Azure サーバーと通信するには、[Active Directory 統合認証] を選択します。 選択したサーバーが Microsoft Entra ID とフェデレーションされていない場合、このオプションは表示されません。
セキュリティで保護された資格情報
Stretch Database がリモート データベースへの接続に使用する資格情報をセキュリティで保護するためのデータベース マスター キーが必要です。
データベースにマスター キーが既に存在する場合は、そのパスワードを入力します。
データベースに既存のマスター キーがない場合は、強力なパスワードを入力してデータベース マスター キーを作成します。
データベース マスター キーの詳細については、「CREATE MASTER KEY (Transact-SQL)」および「データベース マスター キーの作成」を参照してください。 ウィザードにより作成される資格情報の詳細については、「 CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)」を参照してください。
IP アドレスを選択する
サブネットの IP アドレスの範囲を使用するか (推奨)、SQL Server のパブリック IP アドレスを使用して SQL Server がリモートの Azure サーバーと通信するためのファイアウォール ルールを Azure に作成します。
このページで指定した IP アドレスは、 SQL Server で開始された受信データ、クエリ、管理操作が Azure ファイアウォールを通過できるように Azure サーバーに伝えます。 このウィザードで SQL Server のファイアウォール設定が変わることはありません。
まとめ
入力した値、ウィザードで選択したオプション、Azure の推定コストを確認します。 次に、 [完了] を選択してストレッチを有効にします。
結果
結果を確認します。
データ移行の状態を監視するには、「 データ移行の監視とトラブルシューティング (Stretch Database)」を参照してください。
ウィザードのトラブルシューティング
Stretch Database ウィザードにエラーが発生しました。 Stretch Database がサーバー レベルでまだ有効になっておらず、それを有効にするシステム管理者権限なしでウィザードを実行すると、ウィザードでエラーが発生します。 ローカル サーバー インスタンスで Stretch Database を有効にするようにシステム管理者に依頼し、その後、ウィザードをもう一度実行します。 詳細については、「 前提条件: サーバーで Stretch Database を有効にするためのアクセス許可」を参照してください。