適用対象:✅ Warehouse in Microsoft Fabric
このFabric Migration Assistantは、ソースメタデータやデータをFabric Data Warehouseに移行するためのガイド付き体験を提供します。 このガイドでは、メタデータの移行方法を以下から説明します:
- Azure Synapse Analytics または SQL Server を DACPAC ファイルを使用して
-
.sqlファイルおよび/または.bteqファイルの .zip アーカイブを使用した Teradata
前提条件
作業を開始する前に、次の準備ができていることを確認します。
- アクティブな容量または試用版の容量を持つ Fabric ワークスペース。
- ワークスペースを作成するか 移行先の既存のワークスペースを選択します。 移行アシスタントによって新しいウェアハウスが作成されます。
- 以下のいずれかの形式でのソースメタデータファイル:
- Azure Synapse Analytics または SQL Server から抽出された DACPAC ファイル。
DACPACには、テーブル、ビュー、ストアドプロシージャ、関数などのデータベースオブジェクトのメタデータが含まれています。
- Azure Synapse Analytics から DACPAC を作成するには、「Visual Studio 2022 で Azure Synapse 専用 SQL プールからデータ層アプリケーション (DAC) を抽出する」を参照してください。
- また、SQL Server Management Studio(SSMS)のスクリプト生成ウィザード、Visual Studio Codeを用いたSDKスタイルのデータベースプロジェクト、またはSqlPackageコマンドラインユーティリティも利用できます。
- 移行のためのオブジェクト定義や依存関係を含むTeradata
.sqlおよび/または.bteqファイルのzipアーカイブです。
- Azure Synapse Analytics または SQL Server から抽出された DACPAC ファイル。
DACPACには、テーブル、ビュー、ストアドプロシージャ、関数などのデータベースオブジェクトのメタデータが含まれています。
移行アシスタントの AI 支援型移行機能を使用して移行の問題を解決するには、Copilot をアクティブにする必要があります。
- Copilot の使用を開始する前に、管理者がテナントスイッチを有効にする必要があります。 詳細については、「Copilot テナント設定」を参照してください。
- F2 または P1 の容量は、Fabric リージョンの可用性に記載されているいずれかのリージョンに存在する必要があります。
- テナントまたは容量が米国またはフランス以外にある場合、Fabric テナント管理者が Azure OpenAI に送信されるデータは、容量の地理的リージョン、コンプライアンス境界、または各国のクラウド インスタンスの外部で処理できます テナント設定を >>>Tenant settings で有効にしない限り、Copilot は既定で無効になります。
- Microsoft Fabric の Copilot は、試用版 SKU ではサポートされていません。 現時点では、有料 SKU (F2 以上、または P1 以降) のみがサポートされています。
- 詳細については、「Fabric と Power BI での Copilot の概要」を参照してください。
メタデータのコピー
Fabric ワークスペースで、項目アクション デッキの [移行 ] ボタンを選択します。
Migrate to Fabricのソースメニューの「Migrate to a warehouse」の下で、ソースシステムタイルを選択します:
- Azure Synapse Analytics の場合は、Azure Synapse Analytics 専用 SQL プールを選択してください。
- SQL Server、Azure SQL Database、またはAzure SQL Managed Instanceについては、「SQL Server database」を選択してください。
- Teradataについては、 Teradata (プレビュー)を選択してください。
「 方法を選択する 」ページが表示されたら、「 ソースメタデータを含むファイルをアップロード」を選択し、「 次へ」を選択します。
「 ソースを設定する」で、「 ファイルを選択」→「ソースファイル」を選択し、次に 「次」を選択します。
「 移行するオブジェクトを選択する 」ページで、移行するオブジェクトを選択します。
「Set the destination」ページで、移行したいFabricワークスペースの名前と新しい倉庫アイテムの名前を入力してください。 次へを選択します。
入力内容を確認し、[移行] を選択します。 Migration Assistant によって新しいウェアハウス項目が作成され、メタデータの移行が開始されます。
Note
移行アシスタントを使用する場合、新しいウェアハウスでは大文字と小文字が区別されない照合順序となり、既定のウェアハウス照合順序設定に関係ありません。
この手順では、移行アシスタントによって、T-SQL メタデータが Fabric Data Warehouse でサポートされている T-SQL 構文に変換されます。 メタデータの移行が完了すると、Migration Assistant が開きます。 移行アシスタントには、ウェアハウス リボンの [ホーム] タブにある [移行 ] ボタンを使用していつでもアクセスできます。
Migration Assistant でメタデータ移行の要約を確認します。 移行されたオブジェクトの数と、移行する前に修正する必要があるオブジェクトが表示されます。
[ 移行されたオブジェクトの表示 ] を選択してセクションを展開し、Fabric ウェアハウスに正常に移行したオブジェクトの一覧を表示します。
[状態] 列は、移行アシスタントが Fabric Data Warehouse への変換中にオブジェクトのメタデータを調整したかどうかを示します。 たとえば、特定の列データ型または T-SQL 言語構成要素が、Fabric でサポートされているものに自動的に変換される場合があります。 詳細欄は、Migration Assistantがオブジェクトに加えた調整に関する情報を表示します。
オブジェクトを選択すると、移行中に移行アシスタントによって行われた調整が表示されます。
読みやすくするために、メタデータ移行の概要を全画面表示で開きます。 フィルターを適用して、特定のオブジェクトの種類を表示します。
Migration Assistant を使用して問題を修正する
一部のデータベース オブジェクト メタデータは、移行に失敗する可能性があります。 この失敗は、Migration AssistantがT-SQLのメタデータをFabric Data Warehouseでサポートされているメタデータに翻訳できなかったり、翻訳されたコードがT-SQLに適用されなかったために起こります。
Migration Assistant の助けを借りて、これらのスクリプトを修正しましょう。
Migration Assistant で 問題の修正ステップを選択して、移行に失敗したスクリプトを表示します。
移行に失敗したデータベース オブジェクトを選択します。 エクスプローラーの [共有クエリ] の下に新しいクエリが開きます。 この新しいクエリでは、メタデータ定義と、それに対して行われた調整が、T-SQL コードに追加された自動コメントとして表示されます。
スクリプトの先頭にあるコメントを確認して、スクリプトに対して行われた調整を確認します。
エラー情報とドキュメントを使用して、破損したスクリプトを確認して修正します。
エラーを修正する際に AI を利用した支援に Copilot を使用するには、[推奨されるアクション] セクションで [クエリ エラーを修正する] を選択します。 Copilot は、候補を使用してスクリプトを更新します。 Copilot では AI が使用されており、間違いが発生する場合があるため、コードの提案を確認して、必要な調整を行います。
[実行] を選択して、オブジェクトを検証して作成します。
修正する次のスクリプトが開きます。
残りのスクリプトを引き続き修正します。 この手順では、不要なスクリプトの修正をスキップすることができます。
必要なすべてのメタデータを移行する準備ができたら、[ 問題の修正 ] ウィンドウの [戻る] ボタンを選択して、Migration Assistant の最上位ビューを返します。 移行アシスタントの「2. 問題を修正」を確認してください。
より多くのオブジェクトを移行させる
既存のFabric倉庫内のオブジェクトを追加または更新するために、インクリメンタルマイグレーションを活用してください。 新しいソース入力を提供し、必要なオブジェクトだけを選択し、既に宛先に存在するオブジェクトの扱い方を選択します。 例えば、あるスキーマグループを移行し、結果を検証し、その後で戻って、さらにオブジェクトや更新済みの定義を移行するという方法があります。
以下のいずれかの場所から段階的な移行を開始します:
倉庫を開き、リボンの 「移行」 タブを選択し、「その他のオブジェクトを取得」を選択してください。
移行の概要で「メタデータをコピー」を展開し、「より多くのオブジェクトを取得する」を選択してください。
ソースを選択し、入力方法を選択し、「 移行するオブジェクトをさらに多く選択する 」ステップに進みます。
「移行するオブジェクトをさらに選択」では、移行するオブジェクトを選択してください:
フィルターを使って、すべてのソースオブジェクト、名前の競合があるオブジェクト、または名前の競合がないオブジェクトを表示できます。
倉庫内に既に名前があるオブジェクトには警告アイコンが表示されます。 これらのオブジェクトのいずれかを選択すると、移行の後で名前の競合を解決します。
デフォルトでは、Migration Assistantはオブジェクトを選択する際に直接依存関係を含みます。 オブジェクト名を選択して、右側のペインでその直接的な依存関係を確認できます。
入力ファイル内のオブジェクトにスキーマ名がない場合、Migration Assistantはそのオブジェクトをデフォルトの
dboスキーマに割り当てます。
レビューでは、ソース、宛先、オブジェクトの移行概要を確認してください。
[移行] を選択します。 Migration Assistantは選択したオブジェクトを変換し、名前の競合がないオブジェクトを作成します。 名前の競合があるオブジェクトは、各競合を解決するまで保留中のままです。
競合を解決し、オブジェクトを修正する
既存のウェアハウスをインクリメンタルマイグレーションで更新する場合、競合解決ではどのオブジェクト定義を保持するか選択できます。
Migration Assistantの要約では、解決すべき競合の件数を確認してください。 2. 競合を解決し、オブジェクトを修正するを展開する。
競合タブで、名前の衝突があるオブジェクトを確認します。
SQL定義を比較するためにオブジェクトを選択してください。 既存の定義は左側に、翻訳された定義は右側に現れます。
対象に対して以下のアクションのいずれかを選択してください:
- 既存のものを保持: 既存のオブジェクト定義を保持し、入ってくる翻訳定義は破棄する。
- 受信側を保持: 既存のオブジェクト定義を受信した翻訳済みの定義に置き換える。 メッセージが表示されたら、アクションを確認します。
- 受信オブジェクトの名前を変更する:受信オブジェクトを別の名前で作成し、既存のオブジェクトを保持します。
「 Rename incoming」を選択したら、スキーマとオブジェクト名を入力してから「 Rename」を選択してください。
任意: 受信スクリプトを保存する前に編集してください。 編集を破棄し、翻訳されたスクリプトを復元するには、受信をリセットを選択してください。
入力定義を適用するには、「受信内容を保持(既存の内容を上書き)」を選択してください。 受信スクリプトを編集した場合は、代わりに「既存のものを上書き」を選択してください。
Warning
テーブルの場合、Keep incoming では既存のテーブルを削除して再作成します。 テーブルにデータが含まれている場合、この操作でデータが失われ、再度データを読み込む必要があります。 Migration Assistantが受信したスクリプトを適用できない場合、前のオブジェクト定義は復元しますが、削除されたデータは復元されません。
テーブルの場合は「テーブル置換」を選択して操作を確定します。
スクリプトが正常に動作すると、Migration Assistantはその競合を解決済みとマークします。
これらの手順を、名前の競合があるオブジェクトごとに繰り返します。 同じアクションを複数のオブジェクトに適用するには、オブジェクトを選択し、次に「既存を保持」または「受信内容を保持」を選択します。
処理に成功した各オブジェクトが解決済みとマークされているか確認してください。 オブジェクトにさらなる変更が必要な場合は、右側のパネルの情報を確認してください。
Migration Assistant を使用してデータをコピーする
データのコピーは、移行するオブジェクトで使用されるデータの移行に役立ちます。 Fabric Data Factory コピー ジョブを使用して手動で行うか、移行アシスタントでのコピー ジョブ統合の手順に従います。
Migration Assistant で [データのコピー] ステップを選択します。
コピージョブを使用 を選択します。
新しいジョブに名前を割り当て、[作成] を選択します。
「 データソースに接続」 ページで、ソースシステムの接続資格情報を提供します。 次へを選択します。
「 データ選択 」ページで、移行したいテーブルを選択します。 次へを選択します。
[データの転送先を選択する] ページで、OneLake カタログから新しい Fabric ウェアハウス項目を選択します。 次へを選択します。
[移行先へのマッピング] ページで、各テーブルの列マッピングを構成します。 次へを選択します。
[コピー ジョブ モード] ページで、コピー モードを選択します。 1 回限りの完全なデータ コピー (移行に推奨)、または継続的な増分コピーを選択します。 次へを選択します。
ジョブの要約を確認します。 [保存と実行] を選びます。
コピー ジョブが完了したら、移行アシスタントで3. データをコピーする手順を確認します。 上部にある [戻る] ボタンを選択して、移行アシスタントの最上位ビューに戻ります。
接続の再ルーティング
最後の手順では、データの読み込みとレポートプラットフォームを再接続して、接続が新しい Fabric ウェアハウスを指すようにします。
既存のソース ウェアハウス上の接続を識別します。
- SQL Server インスタンスでは、動的管理ビューを使用できます。次に例を示します。
SELECT s.program_name , s.login_name , c.client_net_address FROM sys.dm_exec_sessions AS s INNER JOIN sys.dm_exec_connections AS c ON s.session_id = c.session_id WHERE s.session_id >= 50 --retrieve only user spids and s.session_id <> @@SPID; --ignore myself- Azure Synapse Analytics専用SQLプールでは、ソースアプリケーション、接続ユーザー、接続元、認証方法などのセッション情報を見つけることができます。
SELECT DISTINCT CASE WHEN len(tt) = 0 THEN app_name ELSE tt END AS application_name ,login_name ,ip_address FROM ( SELECT DISTINCT app_name ,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address ,login_name ,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt FROM sys.dm_pdw_exec_sessions ) AS a;レポーティング プラットフォームへの接続を更新し、Fabric ウェアハウスをポイントするようにします。
再ルーティングする前に、何らかのレポートを使用して Fabric ウェアハウスをテストします。 レポート プラットフォームで比較およびデータ検証テストを実行します。
Fabric ウェアハウスを指すように、データ読み込み (ETL/ELT) プラットフォームの接続を更新します。
- Power BI/Fabric パイプラインの場合:
- List Connections REST API を使用して、古いデータ ソースである Azure Synapse Analytics 専用 SQL プールへの接続を検索します。
- [設定] の [接続とゲートウェイの管理] ページを使用して、新しいウェアハウスへの接続を更新します。
- Power BI/Fabric パイプラインの場合:
完了したら、移行アシスタントの [接続の再ルーティング ] ステップを確認します。
おめでとうございます! これで、新しいウェアハウスの使用を開始する準備ができました。