適用対象:✅ Warehouse in Microsoft Fabric
Migration Assistantは、サポートされたTeradataメタデータをFabric互換T-SQLに変換します。 このリファレンスを使って、自動調整を確認し、TeradataとFabric Data Warehouseがデータ型、データベースオブジェクト、手続き命令、物理設計、運用ユーティリティで異なるため、注意が必要なオブジェクトを修正してください。
エンドツーエンドのライフサイクルについては、 Teradataからの移行計画を参照してください。 ツールおよびデータ移動のオプションについては、 Teradataの移行方法を参照してください。
重要
翻訳出力には技術的および機能的な検証が必要です。 展開前に現在のFabric Data Warehouseデータ型、T-SQL表面積、制限を確認してください。
この参考文献をMigration Assistantで使用してください
- TeradataのDDLおよび依存関係を、
.sqlファイルや/または.bteqファイルのzipアーカイブとしてアップロードしてください。 - メタデータの移行を実行し、自動調整のために 「移行されたオブジェクトを表示する 」を確認しましょう。
- 翻訳やデプロイができないスクリプトのために 修正するためのオブジェクト を開いてください。
- この記事のマッピングを使って、裏付けられていない、あるいは曖昧な構成を訂正してください。
- Migration Assistantの修正済みスクリプトを実行してオブジェクトを作成します。
- Teradataの挙動と結果を比較し、Fabricの直訳を最適化しましょう。
オブジェクト マッピング
| テラデータオブジェクト/構成要素 | Fabric DW相当 | Notes |
|---|---|---|
| Database | Schema | Teradataデータベースの名前空間はFabric DWスキーマにマッピングされます。サイズ設定や親オプションは削除されています。 |
| 外部機能 | サポートしていません | 外部言語ルーチンは手動で書き直す必要があります。 |
| 外国表 | OneLakeショートカットや COPY INTO |
外国テーブルは直接サポートされていません。 |
| Function | Function | SQLスカラー関数およびテーブル値関数はFabricのDW関数にマッピングされます。サポートされていないルーチン属性は削除されます。 |
| グローバル一時テーブル | ローカル一時テーブル(#name) |
グローバル定義の永続性は保持されません。 |
| アイデンティティ列 | BIGINT IDENTITY NOT NULL |
シード、インクリメント、バウンド、サイクルのオプションは保存されません。 |
| Index | 直接同等の機能はありません | プライマリ、セカンダリ、ユニーク、ハッシュのインデックスは発行されません。Fabricは配布とクラスタリングを管理します。 |
| 整合性制約 - チェック | 直接同等の機能はありません |
CHECK 制約は上流またはロードプロセスで強制されなければなりません。 |
| 整合性制約 - 外部キー | FOREIGN KEY ... NOT ENFORCED |
参照アクションは削除され、制約は強制されません。 |
| 整合性制約 - プライマリキー / ユニーク | NONCLUSTERED ... NOT ENFORCED |
制約はメタデータとして保持され、キー列は強制的に NOT NULLされます。 |
| 結合インデックス | マテリアライズドビューまたは事前集約テーブル | ジョインインデックスはサポートされる永続構造として再設計が必要です。 |
| マクロ | ストアドプロシージャ | Teradataマクロはストアドプロシージャとして移行します。 |
| マルチセット表 | テーブル | 重複行の動作はすでにデフォルトのFabric DWテーブルの動作と一致しています。 |
| プロシージャ | ストアドプロシージャ | TeradataプロシージャはFabric DWストアドプロシージャにマッピングされます;サポートされていない手続き型属性はレビューが必要です。 |
| 再帰的視点 | サポートしていません | 再帰的な共通テーブル式はFabric DWではサポートされていません。 |
| Role | Role | 役割のメンバーシップは ALTER ROLE ADD MEMBER または DROP MEMBERに割り当てられ、 ADMIN OPTION は保持されません。 |
| テーブルをセット | テーブル |
SET 重複行の強制は保存されません。必要に応じてメタデータや上流の強制を追加してください。 |
| Statistics | CREATE STATISTICS / UPDATE STATISTICS |
多列コレクションは単一列の統計に分割されます。サポートされていないターゲットはレビューが必要です。 |
| ストレージスキーマ | サポートしていません | TeradataのストレージスキーマはFabricのDW名前空間オブジェクトにマッピングされません。 |
| テーブル | テーブル | 恒久的なTeradataテーブルはFabric DWテーブルにマッピングされます;サポートされていない物理ストレージオプションは削除されます。 |
| Trigger | サポートしていません | トリガーロジックをストアドプロシージャやロードパイプラインに移動させます。 |
| View | View | 標準ビューは直接写像します。操作の置き換えは CREATE OR ALTERになります。 |
| ボラタイル表 | ローカル一時テーブル(#name) |
セッションスコープのボラタイルテーブルはローカルの一時テーブルにマッピングされます。スキーマ修飾子は削除されます。 |
データ型マッピング
| テラデータデータ型ファミリー | Fabric DW相当 | Notes |
|---|---|---|
| 近似数値 | FLOAT |
FLOAT
REAL、DOUBLE PRECISION統合FLOAT。 |
| Binary | VARBINARY(n) / VARBINARY(MAX) |
BYTE
VARBYTE族は可変長の二進型にマッピングされます。8000を超えるサイズはMAXを使用します。 |
| ブール値 | サポートしていません | Teradata BOOLEANには対応するFabric DW対応のものはありません。 |
BYTEINT |
SMALLINT |
テラデータBYTEINTSMALLINTに広がります。 |
| Character | CHAR(n) / VARCHAR(n) / VARCHAR(MAX) |
Unicodeは倉庫のUTF-8コレーションを使用しています。Unicode VARCHAR の長さは拡張され、上限は MAXに制限されています。 |
| コレクション/配列 | マッピングされた基本データ型またはJSON配列 |
ARRAY
VARRAYラッパーは削除されます。必要に応じて配列コンストラクタはシリアライズされます。 |
| 日付と時刻 | DATE / TIME(6) / DATETIME2(6) |
分数精度は6に上限され、タイムゾーンのオフセットは保持されません。 |
| 正確な数値 | DECIMAL(p,s) / NUMERIC |
DECIMAL 供給された場所では精度とスケール NUMERIC 保持されます。スケールを省略した場合はデフォルトで0になります。 |
| Integer | SMALLINT / INT / BIGINT |
BYTEINT以外の整数族は直接写像します。 |
| ラージ オブジェクト | VARCHAR(MAX) / VARBINARY(MAX) |
CLOB は VARCHAR(MAX) に対応し、BLOB は VARBINARY(MAX) に対応します。 |
MAP |
サポートしていません | Teradata MAPには対応するFabric DW対応のものはありません。 |
MULTISET |
テーブル | Teradata MULTISET テーブルに変換します。 |
| JSON と XML | VARCHAR(MAX) |
JSONおよびXML文書はテキストとして保存されます。JSONは JSON_VALUE や OPENJSONでクエリ可能です。 |
| 時間間隔 |
VARCHAR(50) さらに DATEADD 論理 |
Fabric DWにはスカラー間隔タイプがなく、ストレージや算術は再設計が必要です。 |
| 時代 |
VARCHAR(100) または明示的な開始・終了列 |
期間の値や境界は明示的にモデル化されなければなりません。期間関係のメタデータは除外されます。 |
| Spatial | サポートしていません | よく知られたテキストやバイナリを保存したり、Fabric DW外で空間データを処理したりできます。 |
SET |
テーブル | Teradata SET テーブルに変換します。 |
| ユーザー定義型 | 基礎となる基底タイプ | Fabric DWにはユーザー定義型オブジェクトがありません。基本型を手動で置き換え・検証します。 |
BTEQコマンドマッピング
BTEQはSQL、フロー制御、セッション管理、インポートおよびエクスポート動作を組み合わせています。 コマンドに応じて、ストアドプロシージャ、パイプライン、ロード操作、または明示的にサポートされていない結果に変換します。
Migration AssistantはBTEQスクリプトをストアドプロシージャに変換し、サポートされるスクリプト要素を保持します。 生成されたストアドプロシージャを確認し、適切なワークフローに統合してください。
| BTEQ構成文字ファミリー | Fabric相当 | Notes |
|---|---|---|
| 制御フローと分岐 | ストアドプロシージャ IF / GOTO / WHILE またはパイプライン条件 |
ラベル、条件、繰り返し指令をT-SQL制御フローやパイプラインオーケストレーションに移します。 |
| データインジェストとエクスポート |
COPY INTOおよびFabricパイプラインのコピー活動 |
インポートは COPY INTO、エクスポートや外部ファイル処理をパイプラインやCETASに移すことができます。 |
| エラー処理と終了 | プロシージャリターンコードとパイプライン障害経路 |
ERRORCODEとACTIVITYCOUNTをキャプチャし、ERRORLEVELおよび最大エラーポリシーのためのオーケストレーターロジックを追加できます。 |
| ランタイムメタデータと変数 | プロシージャパラメータ / @@ERROR / @@ROWCOUNT / パイプライン変数 |
環境変数やBTEQステータス値をパラメータ、変数、キャプチャされた実行ステータスにマッピングします。 |
| スクリプトラッパーとSQL実行 | 翻訳されたT-SQLを用いたストアドプロシージャラッパー | BTEQスクリプトはプロシージャに変換できます。スキーマレベルのオブジェクトを抽出し、失敗した文をレビューのために保持します。 |
| タイミングとプロセス実行 |
WAITFORスケジュール、待機活動、ノートブック、パイプライン活動 |
HANGを倉庫の外に出して運用システムのコマンドをWAITFORにマッピングし、移動させろ。 |
サポートされていないBTEQ文
Migration Assistantは翻訳コードから以下のBTEQ文を削除します:
| BTEQの主張 | 翻訳結果 |
|---|---|
.DEFAULTS |
コードから削除 |
.ERROROUT、 .ERRORLEVEL、そして単独で .MAXERROR |
コードから削除 |
.EXPORT DATA、.EXPORT REPORT、.EXPORT DIF、および .EXPORT INDICDATA FILE = path |
コードから削除 |
.EXPORT RESET |
コードから削除 |
.FORMAT、.WIDTH、.FOLDLINE、.TITLEDASHES、および .SIDETITLES |
コードから削除 |
.LOGOFF |
コードから削除 |
.LOGON tdpid/user,pwd |
コードから削除 |
.OS command、 .TSO command、および .CMS command |
コードから削除 |
.PAGELENGTH、.PAGEBREAK、.HEADING、および .FOOTING |
コードから削除 |
.ECHOREQ |
コードから削除 |
.RECORDMODE、 .INDICDATA、および .LARGEDATAMODE |
コードから削除 |
.RETLIMIT n,m そして単独作品 .RETCANCEL |
コードから削除 |
.RUN FILE = script.bteq |
コードから削除 |
.SEPARATOR そして単独作品 .NULL AS |
コードから削除 |
.SESSION CHARSET、.SESSION SQLFLAG、.SESSION TRANSACTION、および .SESSION DATEFORM |
コードから削除 |
.SHOW CONTROLS と .SHOW VERSIONS |
コードから削除 |
翻訳コードの検証
可能な限り自動化テストを使用し、その後ワークロードの所有者と機能レビューを行いましょう。
- オブジェクト数と未解決の依存関係を比較してください。
- 代表入力と境界入力の行レベル結果を比較します。
- 10進精度、タイムスタンプ、ヌルセマンティクス、文字列パディング、コレーション、非ASCIIテキストの検証を行います。
- エラー経路、トランザクションの挙動、リトライ、部分的な失敗をテストします。
- 対象に対して下流レポートやセマンティックモデルを実行します。
- 代表的なデータ量と並行性をテストします。
- 生成されたSQLを不要な入れ子、行ごとの処理、ソース固有の物理調整についてレビューしてください。
- ソースSQL、翻訳済みSQL、レビュアーの決定、テストエビデンスをまとめて保持しましょう。