生テーブル上に作成されたテーブルストリームをクエリし、行のサブセットを複数のテーブルに挿入するタスクを作成しています。以下の手順に従って作業を進めていますが、タスクを再開するステップに到達した際に、以下のようなエラーメッセージが表示されました。
なぜこのエラーが発生するのか、また、必要な権限を付与できるのは誰なのか?

このエラーを発生させるための手順
-- 生の JSON データを保存するランディング テーブルを作成します。
-- Snowpipe はこのテーブルにデータをロードできます。 create or replace table raw (var variant);
-- ランディングテーブルへの挿入をキャプチャするためのストリームを作成します。
-- タスクはこのストリームから一連の列を消費します。 create or replace stream rawstream1 on table raw;
-- ランディングテーブルへの挿入をキャプチャするための2つ目のストリームを作成します。
-- 2 番目のタスクは、このストリームから別の列セットを消費します。 create or replace stream rawstream2 on table raw;
-- 生データで識別されたオフィス訪問者の名前を格納するテーブルを作成します。 create or replace table names (id int, first_name string, last_name string);
-- 生データで特定されたオフィス訪問者の訪問日を格納するテーブルを作成します。
CREATE OR REPLACE TABLE visits (id int, dt date);
-- rawstream1 ストリームから新しい名前レコードを names テーブルに挿入するタスクを作成します
-- ストリームにレコードが含まれている場合、1分ごとに。
-- 'mywh' 倉庫を、あなたのロールが USAGE 権限を持つ倉庫に置き換えてください。 create or replace task raw_to_names
倉庫 = etl_wh
スケジュール = '1分'
いつ
system$stream_has_data('rawstream1')
として
名前nにマージする
using (select var:id id, var:fname fname, var:lname lname from rawstream1) r1 on n.id = to_number(r1.id)
一致した場合、n.first_name = r1.fname、n.last_name = r1.lname を更新します。
一致しない場合は、(id、first_name、last_name) の値 (r1.id、r1.fname、r1.lname) を挿入します。
;
-- rawstream1 ストリームからの訪問記録を visits テーブルにマージする別のタスクを作成します
-- ストリームにレコードが含まれている場合、1分ごとに。
-- 新しいIDを持つレコードが訪問テーブルに挿入されます。
-- visits テーブルに存在する ID を持つレコードは、テーブルの DT 列を更新します。
-- 'mywh' 倉庫を、あなたのロールが USAGE 権限を持つ倉庫に置き換えてください。 create or replace task raw_to_visits
倉庫 = etl_wh スケジュール = '1 分' の場合
system$stream_has_data('rawstream2')
訪問に統合 v
using (select var:id id, var:visit_dt visit_dt from rawstream2) r2 on v.id = to_number(r2.id) when matched then update set v.dt = r2.visit_dt
一致しない場合は、(id, dt) の値 (r2.id, r2.visit_dt) を挿入します。
両方のタスクを再開します。
alter task raw_to_names resume;