DataWorks の SQL Server ノードを使用して、SQL Server タスクを開発し、定期的にスケジューリングし、他のジョブと統合します。 このトピックでは、開発ワークフローについて説明します。
背景
SQL Server は、データを格納および処理するリレーショナルデータベース管理システム (RDBMS) です。 信頼性が高く、効率的で、安全なデータ管理および分析サービスを提供します。 詳細については、「SQL Server」をご参照ください。
前提条件
-
ビジネスフローが作成されている必要があります。
Data Studio では、ビジネスフローに基づいてエンジン固有の開発操作を実行します。ノードを作成する前に、まずビジネスフローを作成してください。詳細については、「ビジネスフローの作成」をご参照ください。
-
JDBC 接続文字列を使用して SQL Server データソース を作成済みであること。 詳細については、「データソース管理」をご参照ください。
-
(オプション。RAM ユーザーの場合は必須) タスク開発に使用する RAM ユーザーがターゲットワークスペースに追加され、[開発者] または [ストレージ管理者] ロール (広範な権限を付与するため、慎重に割り当ててください) のいずれかが割り当てられている必要があります。メンバーの追加と権限の付与の詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
制限事項
-
サポートされているリージョン:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、ドイツ (フランクフルト)、米国 (シリコンバレー)、および米国 (バージニア)。
-
ストアドプロシージャはサポートされていません。
ステップ 1:SQL Server ノードの作成
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
-
対象のワークフローを右クリックし、 を選択します。
-
ノードの作成 ダイアログボックスで、ノードの 名前 を入力し、確認 をクリックします。
ステップ 2:SQL Server タスクの開発
(オプション) SQL Server データソースの選択
ワークスペースに複数の SQL Server データソースがある場合は、ノードエディターで目的のデータソースを選択する必要があります。 SQL Server データソースが 1 つしかない場合は、デフォルトで使用されます。
SQL Server ノードは、JDBC 接続文字列で作成された SQL Server データソースのみをサポートします。
SQL コードの開発:簡単な例
ノードのコードエディターで、タスクの SQL コードを記述します。 次の例では、SQL Server データベース内のすべてのユーザーテーブルの基本情報を照会します。
SELECT * FROM sys.tables;
SQL コードの開発:スケジューリングパラメーターの使用
DataWorks は、定期的なスケジューリングのシナリオでコードに値を動的に渡すことができる [スケジューリングパラメータ] を提供します。 タスクコードでは、${variable_name} 形式で変数を定義できます。 次に、ノードエディターの右側のナビゲーションウィンドウで、[スケジューリングプロパティ] > スケジューリングパラメータ に移動して、変数に値を割り当てます。 サポートされている形式とスケジューリングパラメーターの設定方法の詳細については、「スケジューリングパラメーターでサポートされている形式」および「スケジューリングパラメーターの設定と使用」をご参照ください。
例: 過去 1 年間に作成されたすべてのユーザー定義テーブルの名前と作成日の照会。 スケジューリングパラメーター a は $[add_months(yyyymmdd,-12)] に設定されます。 これは 1 年前の日付を表します。
次のコードに例を示します。
SELECT name, create_date
FROM sys.tables
WHERE type = 'U' AND create_date >= '${a}';
ステップ 3: タスクスケジューリングの設定
ノードタスクを定期的に実行するには、ノード編集ページの右側にある [スケジューリング設定] をクリックし、必要に応じてスケジューリング設定を構成します。詳細については、「タスクスケジューリングプロパティの概要」をご参照ください。
ノードを送信する前に、ノードの [再実行プロパティ] と [依存する先祖ノード] を設定する必要があります。
ステップ 4: タスクコードのテスト
タスクが期待どおりに動作することを確認するために、必要に応じて次のテスト操作を実行します。
-
(オプション) リソースグループを選択し、カスタムパラメーター値を割り当てます。
-
ツールバーの
アイコンをクリックします。[パラメーター] ダイアログボックスで、テスト用のスケジュールリソースグループを選択します。 -
タスクコードでスケジューリングパラメーター変数を使用している場合は、ここでテスト用の値を割り当てます。パラメーター割り当てロジックの詳細については、「タスクデバッグプロセス」をご参照ください。
-
-
タスクコードを保存して実行します。
ツールバーの
アイコンをクリックしてタスクコードを保存します。次に、
アイコンをクリックしてタスクを実行します。 -
(オプション) スモークテストを実行します。
開発環境でスモークテストを実行し、スケジュールされたタスクが期待どおりに実行されることを確認するには、ノード送信中または送信後にスモークテストを実行します。詳細については、「スモークテストの実行」をご参照ください。
ステップ 5: タスクの送信とパブリッシュ
ノードタスクを設定したら、送信してパブリッシュします。パブリッシュされると、ノードはスケジューリング設定に基づいて定期的に実行されます。
-
ツールバーの
アイコンをクリックしてノードを保存します。 -
ツールバーの
アイコンをクリックしてノードタスクを送信します。[コミット] ダイアログボックスで、[変更内容] を入力します。必要に応じて、送信後にコードレビューを要求するかどうかを選択します。
説明-
ノードを送信する前に、ノードの [再実行プロパティ] と [依存する先祖ノード] を設定する必要があります。
-
コードレビューは、コード品質を確保し、レビューされていないコードが本番環境に直接パブリッシュされることによるエラーを防ぎます。コードレビューが有効になっている場合、送信されたノードコードは、パブリッシュする前にレビュー担当者の承認を受ける必要があります。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合、タスクの送信に成功したら、ノード編集ページの右上隅にある [パブリッシュ] をクリックして、タスクを本番環境にデプロイします。詳細については、「タスクのパブリッシュ」をご参照ください。
次のステップ
タスク操作: タスクがコミットされ公開されると、ノードの設定に基づいて定期的に実行されます。ノード編集ページの右上隅にある 運用保守 をクリックしてオペレーションセンターに移動し、定期タスクのスケジューリングと実行ステータスを表示できます。詳細については、「定期タスクの管理」をご参照ください。