適用対象:✅ Warehouse in Microsoft Fabric
Data WarehouseのFabric Migration Assistantは、Azure Synapse Analytics、SQL Server、その他のSQLデータベースプラットフォームの専用SQLプールをシームレスにMicrosoft Fabric Data Warehouseにコピーする移行体験です。
このガイドでは、ソース システムに接続して、Azure Synapse Analytics 専用 SQL プールまたは SQL Server データベースから Fabric ウェアハウスに移行する手順について説明します。
前提条件
作業を開始する前に、次の準備ができていることを確認します。
- アクティブな容量または試用版の容量を持つ Fabric ワークスペース。
- ワークスペースを作成するか 移行先の既存のワークスペースを選択します。 移行アシスタントによって新しいウェアハウスが作成されます。
- サーバー名、データベース名、認証方法など、ソースシステムの接続情報を集めてください。
移行アシスタントの 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 ワークスペースで、項目アクション デッキの [移行 ] ボタンを選択します。
[ ファブリックへの移行 ] ソース メニューの [ ウェアハウスへの移行] で、ソース システム タイルを選択します。 Azure Synapse Analytics の場合は、Azure Synapse Analytics 専用 SQL プールを選択してください。 SQL Server、Azure SQL Database、またはAzure SQL Managed Instanceについては、「SQL Server database」を選択してください。
「 方法を選択する 」ページで「 直接ソースシステムに接続」を選択し、次に 「次」を選択します。
「ソース設定」でサーバー名、データベース名、認証情報を入力し、次に「次」を選択します。
「 移行するオブジェクトを選択する 」ページで、移行するオブジェクトを選択します。
「目的地の設定」ページでFabricワークスペースを選択し、新しい倉庫の名前を入力してから「次」を選択します。
入力内容を確認し、[移行] を選択します。 Migration Assistantが新しい倉庫アイテムを作成し、メタデータの移行が始まります。
注
移行アシスタントを使用する場合、既定のウェアハウス照合順序設定に関係なく、新しいウェアハウスには大文字と小文字が区別されない照合順序があります。
この手順では、移行アシスタントによって、T-SQL メタデータが Fabric Data Warehouse でサポートされている T-SQL 構文に変換されます。 メタデータの移行が完了すると、Migration Assistantが開きます。 移行アシスタントには、ウェアハウス リボンの [ホーム] タブにある [移行 ] ボタンを使用していつでもアクセスできます。
Migration Assistant でメタデータ移行の要約を確認します。 移行されたオブジェクトの数と、移行する前に修正する必要があるオブジェクトが表示されます。
「移行済みオブジェクトを表示」を選択してセクションを展開し、Migration AssistantがFabric倉庫に成功裏に移行したオブジェクトのリストを表示します。
状態列は、変換中にオブジェクトのメタデータが調整されてFabric Data Warehouseでサポートされたかどうかを示します。 たとえば、特定の列データ型または T-SQL 言語構成要素が、Fabric でサポートされているものに自動的に変換される場合があります。 [詳細] 列には、オブジェクトに対して行われた調整に関する情報が表示されます。
任意のオブジェクトを選択して、移行中に行われた調整を表示します。
読みやすくするために、メタデータ移行の概要を全画面表示で開きます。 フィルターを適用して、特定のオブジェクトの種類を表示します。
Migration Assistant を使用して問題を修正する
一部のデータベース オブジェクト メタデータは、移行に失敗する可能性があります。 一般的に、このエラーは、移行アシスタントが T-SQL メタデータを Fabric ウェアハウスでサポートされているメタデータに変換できないか、変換されたコードを T-SQL に適用できないために発生します。
Migration Assistant の助けを借りて、これらのスクリプトを修正しましょう。
Migration Assistant で 問題の修正ステップを選択して、移行に失敗したスクリプトを表示します。
移行に失敗したデータベース オブジェクトを選択します。 エクスプローラーの [共有クエリ] の下に新しいクエリが開きます。 この新しいクエリでは、T-SQL コードに追加された自動コメントとして Migration Assistant によって行われたメタデータ定義と調整が表示されます。
スクリプトの先頭にあるコメントを確認して、移行アシスタントがスクリプトに対して行った調整を確認します。
エラー情報とドキュメントを使用して、破損したスクリプトを確認して修正します。
エラーを修正する際に 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. データをコピーする手順を確認します。 戻るボタンを選択すると、Migration Assistantのトップレベルビューに戻ります。
接続の再ルーティング
最後の手順では、データの読み込みとレポートプラットフォームを再接続して、接続が新しい Fabric ウェアハウスを指すようにします。
既存のソース ウェアハウス上の接続を識別します。
- Microsoft SQLインスタンスのSQLデータベースでは、例えば動的管理ビューを使用できます。
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 プールへの接続を検索します。
- 設定ギアの「Manage Connections and Gateways Experience」を使って新しいFabric Data Warehouseへの接続を更新してください。
- Power BI/Fabric パイプラインの場合:
完了したら、Migration Assistantの「Reroute connections」ステップを確認してください。
おめでとうございます! これで、倉庫を使い始める準備が整いました。