Note
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
データベース移動操作は、データ アプリケーション ライフサイクル管理 (DataALM) の一部として使用できるセルフサービス アクションのスイートです。 状況によっては、環境で破壊的なテストを実行する必要があります。 このコンテキストでは、破壊的なテストは、環境が継続的なテストに役立たなくなったことを意味します。 破壊試験は、会議室パイロット中の実装ライフ サイクルでは一般的です。 このチュートリアルでは、破壊試験を容易にするデータベース移動操作の使用方法を示します。
このチュートリアルでは、次の 2 つの方法について説明します。
- データベース バックアップ資産を使用します。
- ポイントインタイム復元を使用します。
このシナリオの例として、顧客は会議室パイロットを実行しようとしており、トランザクションがない (つまり、販売注文や発注書がない) 環境で開始します。 顧客は、物理的な倉庫から地理的リージョン全体の物理倉庫に移動して同じパイロットを実行し、各パイロットが完了する前に環境を "リセット" することを望んでいます。
前提条件
このチュートリアルを完了するには、標準ユーザー受け入れテスト (UAT) 環境をプロジェクトにデプロイする必要があります。
データベースのバックアップの使用
テストの開始点に既にあるデータベース バックアップ (.bacpac) ファイルを準備する場合、最も簡単な方法は、LCS プロジェクトのアセット ライブラリの [データベース バックアップ ] セクションにバックアップ ファイルをアップロードすることです。 次のセクションで説明するように、ターゲット環境にインポートできます。
開発環境から標準ユーザー承認テスト (UAT) まで準備されたデータベース、または UAT 環境から前回エクスポートしたデータベースをインポートするには、次のステップに従います。
- ターゲット サンドボックスの 環境詳細 ページを開き、 メニュー オプションから 管理>データベースの移動 を選択します。
- データベースのインポートを選択し、資産ライブラリからソース データベースのバックアップ (.bacpac形式) ファイルを選択します。
- 警告に注意してください。 バックアップ ファイルからクリーンアップされたデータ要素の一覧を確認します。
- インポート操作をすぐに開始します。
Note
管理者ユーザー、およびその他の内部サービス ユーザー アカウントを除くすべてのユーザーはインポート後に使用できなくなります。 そのため、管理者ユーザーは他のユーザーがシステムに復帰する前にデータの削除や難読化することができます。
データベース バックアップ (.bacpac) ファイルをダウンロードした後、データベースを開発環境にインポートするには、レベル 1 環境の手動インポート操作の開始が可能です。 データベースをインポートするときは、これらのガイドラインに従うことお勧めします。
- 必要な場合は、後で戻すことができるように、既存の AxDB データベースのコピーを保持します。
- AxDB_fromProd などの新しい名前の下に新しいデータベースをインポートします。
最良のパフォーマンスを確保するためには、 *.bacpac ファイルをインポート元のコンピューターにコピーします。 sqlpackage .NET Core for Windows を Get sqlpackage .NET Core for Windows からダウンロードします。 コマンド プロンプト ウィンドウを開き、sqlpackage .NET Core フォルダーから次のコマンドを実行します。
SqlPackage.exe /a:import /sf:D:\Exportedbacpac\my.bacpac /tsn:localhost /tdn:<target database name> /p:CommandTimeout=1200
パラメータの説明を以下に示します。
- tsn (ターゲット サーバー名) – インポートする Microsoft SQL Server インスタンスの名前。
- tdn(ターゲット データベース名) – インポートするデータベースの名前。 データベースが既に存在していてはいけません。
- sf(ソース ファイル) – インポートするファイルのパスと名前。
Note
インポート中に、ユーザー名およびパスワードは必要ありません。 既定では、SQL Server は、現在サインインしているユーザーに対して Microsoft Windows 認証を使用します。
レベル 1 の環境に手動インポート処理を実行する方法については、データベースのインポート を参照してください。
データベース バックアップの長所と短所
バックアップ ファイル資産を使用する場合は、同じファイルをインポートし続けて、テストの開始点に戻ることができます。
インポート後に、ユーザーが開始する前に多数の構成 (バッチ ジョブなど) を設定する必要がある場合は、各破壊的テスト セッションにさらに多くの労力が必要になります。
ポイントインタイム復元の使用
データベース バックアップ (.bacpac) ファイルから始めず、代わりに UAT 環境が既知の良好な状態である場合は、タイム ゾーンに日付と時刻を記録するだけで済みます。 その後、破壊試験を開始できます。 テストが完了したら、次の手順を使用して、以前の時刻に環境を復元できます。
標準ユーザー承認テスト (UAT) 環境のデータベースを前回のポイントインタイムに復元するには、次のステップを実行します。
- ターゲット サンドボックスの 環境詳細 ページを開き、 メニュー オプションから 管理>データベースの移動 を選択します。
- ポイントインタイム復元 を選択し、ポイントインタイムを選択します。
- 警告に注意してください。 前回のポイントインタイムからコピーされていないデータ要素の一覧を確認します。
- 復元操作をすぐに開始します。
Important
運用中のデータベースを以前のポイントインタイムにリストアすることは、一般的なライフサイクル作業ではないため、次のような問題が発生する可能性があります:
- 実稼働環境における大規模なダウンタイム。 データベース のサイズによっては、ポイントインタイム リストア (PITR) に数時間を要する場合があります。
- SQL データ損失。 SQL データ損失は、PITR 要求の実行時間に依存します。
- SQL データベースの破損利用可能な復元ポイントのチェーン。
運用環境のデータベースを以前のポイントインタイムにリストアするには、以下の手順に従います:
- ターゲットとすつ運用環境の 環境詳細 ページを開き、 メニュー オプションから 管理>データベースの移動 を選択します。
- ポイントインタイム復元 を選択し、ポイントインタイムを選択します。
- 警告に注意してください。 前回のポイントインタイムからコピーされていないデータ要素の一覧を確認します。
- 復元操作をすぐに開始します。
ポイントインタイム復元のメリットとデメリット
ポイントインタイム リストアを使用すると、データベース バックアップ (.bacpac) ファイルの処理を回避し、破壊的なテスト セッション間の時間を短縮できます。
ポイントインタイム リストアの現在の制限により、復元が完了した後、新しい復元日時をタイム ゾーンに記録する必要があります。 ポイントインタイム リストアでは常に新しいデータベースが作成されるため、使用した元の日付と時刻は新しいデータベースの復元ポイントとして使用できません。