データベースのエクスポート

コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。

Microsoft Dynamics Lifecycle Services を使用して、サンドボックス ユーザー受け入れテスト (UAT) 環境から資産ライブラリにデータベースをエクスポートします。

カスタマー マネージド キー (CMK) を環境に適用すると、エクスポートされたファイルはライフサイクル サービス資産ライブラリに CMK なしで格納されます。 ライフサイクル サービス資産ライブラリに対する CMK のサポートは、近日中に提供される予定です。 その後、エクスポートされたファイルは、ライフサイクル サービス資産ライブラリに適用された CMK ポリシーと共に格納されます。

セルフサービスエクスポートデータベース

サンドボックス 環境詳細 ページで、 管理 メニューをクリックし、 データベースの移動を選択します。

データベース メニューを移動します。

エクスポート データベース アクションが使用できるページでスライダー ウィンドウが開きます。

データベース メニューをエクスポートします。

サンドボックスの更新やパッケージの展開などの他のサービス操作は、この間実行できません。 ソース環境は Dynamics ユーザーの観点から使用可能になります。

エクスポートが正常に完了した後に、環境の詳細ページのサービス操作からサインアウトします。 データベースのバックアップ セクションの 資産ライブラリ で資産を確認できます。

資産ライブラリのバックアップ ファイル。

.bacpac ファイルはここに格納され、インポート用 Tier 1 開発者環境に手動でダウンロードすることができます。 今後、Microsoft は、エクスポート アクションをトリガーし、資産ライブラリで使用可能なバックアップ ファイルを一覧表示するための API を提供します。 これには、バックアップ資産ファイルを自動でダウンロードするための、または Microsoft Azure Storage SDK を使用して、セキュリティで保護された BLOB ストレージに直接コピーするための、セキュリティで保護された URL が含まれます。

長時間実行される操作

エクスポート操作には数時間かかる場合があり、極端な場合は完了するまでに数日かかる場合があります。 この時間は、財務と運用アプリのスキーマの複雑さ、およびクラウドデータベースを従来の SQL Server で使用するためのフラットファイルに変換する Azure SQL 提供ツールの制限によるものです。 エクスポート操作に時間がかかりすぎてプロセスを停止する場合は、環境の詳細ページから [キャンセル] を選択します。

エクスポートされた bacpacs のサイズは最大 50 GB までです。

ライフサイクル サービスからデータベースのエクスポートを実行するシステムを維持するために、bacpac の最大サイズに制限が課されます。 この制限は、エクスポートする bacpac ごとに、50 GB に設定されます。 この制限の理由は次のとおりです。

  • 一元化されたシステムは、同じ地理的リージョン内の複数の顧客に対してエクスポートを実行します。このシステムにはディスク領域に制約があります。

  • データベースのサイズを小きくする必要がある場合は、クリーンアップ ルーチン に従います。

  • 上記のクリーンアップ ルーチンで bacpac ファイルのサイズが 50 GB を超えない場合は、サンドボックス データベースに対して次の SQL スクリプトを実行して、上位 15 個のテーブルを MB 単位で識別してみてください。 データ エンティティのステージング用にテーブルを切り捨てることもできます (テーブル名の末尾に "ステージング" があります)。 バイナリまたは BLOB データ (JSON、XML、またはバイナリ) を格納するテーブルの場合は、テーブルを切り捨てるか、そのフィールドの内容を削除して領域を解放します。 バイナリ データは圧縮できないので、データベース自体に大量のデータを格納すると、すぐに 50 GB の制限に達します。

USE [YourDBName] -- replace your dbname
GO
SELECT top 15
s.Name AS SchemaName,
t.Name AS TableName,
p.rows AS RowCounts,
CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Used_MB,
CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS Unused_MB,
CAST(ROUND((SUM(a.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Total_MB
FROM sys.tables t
INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
GROUP BY t.Name, s.Name, p.Rows
ORDER BY Total_MB DESC
GO

エクスポート操作失敗

多くの場合、Lifecycle Services のプロセスは、Microsoft Azure SQL データベースからの応答を待っている間にタイムアウトして、エクスポート処理を失敗してしまいます。 操作がタイムアウトすると、自動的に ロールバック され、エクスポートが開始される前の状態にサンドボックス環境が復元されます。

失敗したエクスポート操作は自動的に ロールバックされます。

エクスポートされないデータ要素

環境からデータベース バックアップをエクスポートする場合、バックアップ ファイルにはデータベースの一部の要素が含まれません。 次にいくつか例を挙げます。

  • LogisticsElectronicAddress テーブル内の電子メール アドレス。
  • BatchJobHistoryBatchHistory、および BatchConstraintsHistory テーブルのバッチ ジョブ履歴。
  • SysEmailParameters テーブルの SMTP 中継サーバー。
  • PrintMgmtSettingsPrintMgmtDocInstance テーブルの印刷管理設定。
  • SysServerConfigSysServerSessionsSysCorpNetPrintersSysClientSessionsBatchServerConfig、および BatchServerGroup テーブル内の環境固有のレコード。
  • DocuValue テーブル内のドキュメント添付ファイル。 これらの添付ファイルには、ソース環境で上書きされたすべての Microsoft Office テンプレートが含まれます。
  • DatabaseLog テーブルのデータベース ログ履歴。
  • 管理者以外のすべてのユーザーは 無効 のステータスに設定されます。
  • すべてのバッチ ジョブは、 保留 状態に設定されます。
  • すべてのユーザーのパーティション値は 「初期」 パーティション レコード ID にリセットされます。
  • 別のデータベース サーバーでは解読できないため、すべての Microsoft 暗号化フィールドはクリアされます。 次の例は、SysEmailSMTPPassword テーブルのパスワード フィールドです。
  • メンテナンス モード の設定は、ソースで有効になっている場合でも無効になります。
  • 二重書き込みの構成。 この操作に成功した後にターゲット環境に新しいリンクを設定するには、 Power Platform 統合を有効にするを参照してください。
  • エクスポートされていないテーブルは次のとおりです。
    • リテールCDXダウンロードセッション
    • リテールCDXダウンロードセッションデータストア
    • RetailCDXDownloadSummaryCache
    • RetailCDXUploadSession
    • RetailCDXUploadPathHistory
    • RetailCDXUploadSummaryCache
    • RetailCDXDataSyncRowVersion
  • Commerce Scale Unit へのすべての参照は、RetailConnDatabaseProfile テーブルから削除されます。
  • Commerce Scale Unit へのすべての参照は、RetailScaleUnit テーブルから削除されます。
  • Commerce Scale Unit へのすべての参照は、RetailChannelProfile テーブルおよびテーブルのすべての子から削除されます。
  • 環境固有のすべての値は 、RetailSharedParamaters テーブルから削除されます。
  • 環境固有の値はすべて RetailHardwareProfile テーブルから削除されます。
  • 環境固有の値はすべて CreditCardAccountSetup テーブルから削除されます。
  • 環境固有のすべての値は 、RetailSelfServicePackageInfo テーブルとこのテーブルのすべての子から削除されます。

既知の問題

しばらくの間、エクスポートが実行され、"準備に失敗しました" 状態に達する

エクスポート プロセスは、大規模なデータベースが関係する Azure SQL データベースではタイムアウトすることがあります。 場合によっては、ライフサイクル サービスから 再開 アクションを使用してエクスポート プロセスを回復できます。 Lifecycle Services チームは既知のエラー コードの特定に取り組んでいるため、エクスポート データベース操作のログにこれらのエラーを追加して、ユーザーを解決に導くことができます。 Lifecycle Services の将来のリリースでは、これらの既知のエラー コードが追加されます。

Lifecycle Services でエクスポートの進捗状況が表示されない

エクスポートのプロセスは、他のデータベース移動の操作および、ランブックを使用しない一般的なパッケージ展開とは異なります。 したがって、たとえ他のシナリオに通常は出力が表示されても、Lifecycle Services の進行状況インジケーターには表示されません。 Lifecycle Services チームは、既知のエラー コードの特定に取り組んでいます。これにより、エクスポート データベース操作のログにこれらのコードを追加して、ユーザーを解決に導くことができます。 Lifecycle Services の将来のリリースでは、これらの既知のエラー コードが追加されます。