Teradata SQL for Fabric Data Warehouse 翻訳

適用対象:✅ Warehouse in Microsoft Fabric

Migration Assistantは、サポートされたTeradataメタデータをFabric互換T-SQLに変換します。 このリファレンスを使って、自動調整を確認し、TeradataとFabric Data Warehouseがデータ型、データベースオブジェクト、手続き命令、物理設計、運用ユーティリティで異なるため、注意が必要なオブジェクトを修正してください。

エンドツーエンドのライフサイクルについては、 Teradataからの移行計画を参照してください。 ツールおよびデータ移動のオプションについては、 Teradataの移行方法を参照してください。

重要

翻訳出力には技術的および機能的な検証が必要です。 展開前に現在のFabric Data Warehouseデータ型、T-SQL表面積、制限を確認してください。

この参考文献をMigration Assistantで使用してください

  1. TeradataのDDLおよび依存関係を、 .sql ファイルや/または .bteq ファイルのzipアーカイブとしてアップロードしてください。
  2. メタデータの移行を実行し、自動調整のために 「移行されたオブジェクトを表示する 」を確認しましょう。
  3. 翻訳やデプロイができないスクリプトのために 修正するためのオブジェクト を開いてください。
  4. この記事のマッピングを使って、裏付けられていない、あるいは曖昧な構成を訂正してください。
  5. Migration Assistantの修正済みスクリプトを実行してオブジェクトを作成します。
  6. 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、レビュアーの決定、テストエビデンスをまとめて保持しましょう。