2022_04バンドル¶
このトピックでは、その月における次の動作の変更(ある場合)について説明します。
廃止された機能。
有効になったバンドルされた変更。
その他、実装されたバンドルされていない変更。
これらの変更について質問がある場合は、 Snowflakeサポート にお問い合わせください。
今月導入された新機能、拡張機能、および修正の詳細については、 2022年7月 をご参照ください。
重要
特に明記されていない限り、これらは2022_04バンドルで変更されており、6.25リリースにおいてデフォルトで有効になっています。
このトピックの内容:
SQL 変更点 --- 一般¶
永続子テーブルのある永続スキーマのクローニングによる一時スキーマの作成¶
永続スキーマのクローニングにより一時スキーマを作成すると、スキーマ内の子オブジェクトもクローンされます。
クローンされた一時スキーマの子テーブルオブジェクトの型が次のように変更されました。
- 以前:
ソーススキーマのすべての永続テーブルはターゲットスキーマの永続テーブルとしてクローンされ、すべての一時テーブルは一時テーブルとしてクローンされました。
- 現在:
ソーススキーマのすべての永続テーブルは、ターゲットスキーマの一時テーブルとしてクローンされます。
SQL の変更 --- コマンドおよび関数¶
SHOW EXTERNALTABLES コマンド: 出力の新しい列¶
SHOW EXTERNAL TABLES コマンドの出力に、次の2つの新しい列が追加されました。
TABLE_FORMAT
LAST_REFRESH_DETAILS
この変更の影響を制限するため、出力に最後の列としての列が追加されました。
列は、将来の機能をサポートするために追加されました。
SHOW SCHEMAS コマンド: スキーマの RETENTION_TIME 出力の変更¶
DATA_RETENTION_TIME_IN_DAYS 設定が0のデータベース内にあるスキーマの SHOW SCHEMAS コマンドの出力における RETENTION_TIME 列の値が次のように変更されました。
- 以前:
RETENTION_TIME 値は空の文字列でした。
- 現在:
RETENTION_TIME 値は0です。
SHOW WAREHOUSES コマンド: 出力の新しい列¶
クエリアクセラレーションサービス機能が有効になっているアカウントの SHOW WAREHOUSES コマンドの出力に、次の新しい列が追加されました。
列名 |
説明 |
---|---|
|
クエリアクセラレーションサービスがウェアハウスで有効になっているかどうか。 |
|
クエリアクセラレーションサービスの最大スケールファクター。 |
comment
列と resource_monitors
列の間に新しい列が追加されました。SHOW WAREHOUSES コマンドの出力に依存するクエリでは、列の出力にハードコードされたインデックスではなく、列名を使用する必要があります。
GET_DDL 関数: 関数とプロシージャの出力の変更¶
現在、 GET_DDL 関数を呼び出して UDF、外部関数、またはストアドプロシージャを作成した DDL ステートメントを取得すると、関数またはプロシージャの名前は、引用符で囲まれていないオブジェクト識別子のルールに従う場合でも、二重引用符で囲まれます。
この出力は、関数またはプロシージャの完全修飾名を返す場合(つまり、3番目の引数として TRUE を指定して GET_DDL を呼び出す場合)に変更されました。
- 以前:
GET_DDL は、関数またはプロシージャの名前を引用符で囲んで返しました。
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)', TRUE) | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION MYDB.MYSCHEMA."MYFUNC" ... | +-------------------------------------------------------+
- 現在:
GET_DDL は、関数またはプロシージャの名前を引用符なしで返します。
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)', TRUE) | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION MYDB.MYSCHEMA.MYFUNC ... | +-------------------------------------------------------+
これは、関数またはプロシージャの完全修飾名を返す場合にのみ影響することに注意してください。GET_DDL の3番目の引数を省略した場合(または FALSE を指定した場合)、 GET_DDL は関数またはプロシージャの名前を引用符で囲んで返します。
+-------------------------------------------------------+ | GET_DDL('FUNCTION', 'MYFUNC(FLOAT)') | |-------------------------------------------------------| | CREATE OR REPLACE FUNCTION "MYFUNC" ... | +-------------------------------------------------------+
SQL の変更 --- 使用状況ビューおよびInformation Schemaビュー/テーブル関数¶
POLICY_REFERENCES ビュー(Account Usage): 新しい列¶
タグベースのマスキングポリシーをサポートするために、 POLICY_REFERENCES ビュー(共有 SNOWFLAKE データベースの ACCOUNT_USAGE スキーマ内)に次の列が含まれるようになりました。
タグ名
tag_database
tag_schema
policy_status
これらの新しい列では、次の点に注意してください。
列、それらのデータ型、および記述は、Information Schema POLICY_REFERENCES テーブル関数の同じ列と一致します。
ビュー内にある既存の行の場合、Snowflakeは新しい列に対して NULL を返します。
この更新では、ビューに新しい列のみが追加されます。SnowflakeアカウントがEnterprise Edition(またはそれ以上)の場合は、この動作の変更を有効にせずに、タグベースのマスキングポリシー機能を使用できます。
この変更の影響を限定するために、これらの新しい列は出力の最後の列として追加されました。
QUERY_HISTORY ビュー(Account Usage): 新しい列¶
次の新しい列がAccount Usage QUERY_HISTORY ビューに追加されました。
列名 |
データ型 |
説明 |
---|---|---|
|
NUMBER |
クエリアクセラレーションサービスによってスキャンされたバイト数。クエリが高速化されなかった場合のデフォルト値は0です。 |
|
NUMBER |
Query Acceleration Serviceによってスキャンされたパーティションの数。クエリが高速化されなかった場合のデフォルト値は0です。 |
|
NUMBER |
クエリが受けたであろうメリットの上限スケールファクター。クエリが高速化されなかった場合のデフォルト値は0です。 |
この変更の影響を制限するために、新しい列は出力の最後の列として追加されました。
データパイプラインの変更¶
ALTER STREAM コマンド: APPEND_ONLY または INSERT_ONLY パラメーターの設定は許可されなくなりました¶
ストリームの作成後にストリームの型を変更することはできません。ストリームの作成時に、型は次のように設定されます。
APPEND_ONLY = TRUE を設定すると、追加専用ストリームが作成されます。
INSERT_ONLY = TRUE を設定すると、挿入専用ストリームが作成されます。
両方のパラメーターを省略すると、標準(デルタ)ストリームが作成されます。
ALTER STREAM コマンドを使用して既存のストリームの型を変更しようとすると、ユーザーエラーが返されるようになりました。
既存のストリームの型を変更するには、(CREATE OR REPLACE STREAM を使用して)ストリームを再作成し、目的のストリーム型を指定する必要があります。
タスク: エラーメッセージの変更¶
サーバーレスタスク(つまり、Snowflakeが管理するコンピューティングリソースを使用して実行されるタスク)に関連する無効な SQL アクションを試行したときに返されるユーザーエラーメッセージは、次のように変更されました。
ユースケース1: EXECUTE MANAGED TASK グローバル権限が付与されていないロールを使用して、 CREATE TASK ステートメントを実行し、 WAREHOUSE パラメーターを省略する。
- 以前のエラーテキスト:
Missing option(s): [WAREHOUSE]
- 現在のエラーテキスト:
WAREHOUSE not specified and missing serverless task privilege to create task {task name}.To create it as a user-managed task, specify a WAREHOUSE.To create it as a serverless task, execute the CREATE TASK command with a role that has been granted the 'EXECUTE MANAGED TASK' account-level privilege.
ユースケース2: EXECUTE MANAGED TASK グローバル権限が付与されていないロールを使用し、適切な CREATE ... CLONE コマンドを使用してサーバーレスタスク(または1つ以上のサーバーレスタスクを含むデータベースまたはスキーマ)のクローンを作成する。
- 以前のエラーテキスト:
Task {task name} requires a warehouse.
- 現在のエラーテキスト:
WAREHOUSE not specified and missing serverless task privilege to create task {task name}.To create it as a user-managed task, specify a WAREHOUSE.To create it as a serverless task, execute the CLONE command with a role that has been granted the 'EXECUTE MANAGED TASK' account-level privilege.
ユースケース3: EXECUTE MANAGED TASK グローバル権限が付与されていないロールを使用し、顧客管理のコンピューティングリソースを使用して実行される既存のタスクの WAREHOUSE パラメーターの設定を解除する(ALTER TASK ... UNSET WAREHOUSE ステートメントを使用)。
- 以前のエラーテキスト:
Task {task name} requires a warehouse.
- 以前のエラーテキスト:
Cannot UNSET WAREHOUSE on task {task_name} because its owner role has not been granted the 'EXECUTE MANAGED TASK' account-level privilege.Grant this privilege to the role or use GRANT OWNERSHIP to change the task's owner role to one with this privilege.
ユースケース4:
ロールを使用すると、 EXECUTE MANAGED TASK グローバル権限が(他の最小権限とともに)付与され、サーバーレスタスクを作成して再開します。
EXECUTE MANAGED TASK 権限は、所有者ロール(タスクに対して OWNERSHIP 権限を持つロール)から取り消されます。
タスクは一時停止されず、次のスケジュールされた実行を開始するか、所有者ロールを持つユーザーが EXECUTE TASK コマンドを実行してタスクの実行を開始しようとします。
- 以前のエラーテキスト:
Cannot execute task, USAGE privilege on the task's warehouse must be granted to the owner role
- 現在のエラーテキスト:
タスクを実行できません。所有者のロールに EXECUTE MANAGED TASK 権限を付与する必要があります
これらの変更は、サーバーレスタスクに関連する問題をよりよく理解して解決するのに役立つことを目的としています。
データプライバシーの変更¶
分類: データ分類モデルの更新および改訂された出力¶
データ分類は、 AWS およびAzure上のすべてのEnterprise Edition(またはそれ以上)のアカウントで一般公開(GA)されるようになりました。
機能の GA について、データ分類モデルが更新され、改善された予測モデルとデータパターンの結果が生成されます。さらに、データ分類プロセスには、入力で指定されたすべてのテーブル列の出力が含まれるようになりました。これには次のものが含まれます。
以前は分類できなかったデータ型の列。
NULL 値のみの列。
これらの改善は、以前のデータ分類モデルを使用して分類されたデータを再分類したときに、より良い結果を返す可能性が高いものの、異なる可能性があるため、動作変更プロセスを通じて導入されました。2022_04バンドルのオプトアウトフェーズでは、バンドルを有効/無効にして分類の改善をテストすると同時に、新しい結果に慣れるまで実稼働アカウントへの影響を最小限に抑えることができます。