GRANT および REVOKE コマンド: 失敗した付与の出力の変更

注意

この動作変更は2023_05バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

これらのコマンドの動作は以下のとおりです。

以前

これらのコマンドのいずれかを実行し、コマンドで指定した1つ以上の権限またはロールで操作が機能しなかった場合、Snowflakeは応答を「成功したステータスメッセージ」(つまり、テーブル)として 書式設定 し、関連する情報を示します。例:

GRANT ALL ON ACCOUNT TO ROLE r1;
Copy
+--------------------------------------------------------------------------------------------------------------------------+
| status                                                                                                                   |
|--------------------------------------------------------------------------------------------------------------------------|
| Grant partially executed: privileges [MANAGE LISTING AUTO FULFILLMENT, MANAGE ORGANIZATION SUPPORT CASES] not granted.   |
+--------------------------------------------------------------------------------------------------------------------------+

この出力は、これらのコマンドのいずれかを実行したときに表示されるメッセージの代表例です。

現在

これらのコマンドのいずれかを実行し、コマンドで指定した1つ以上の権限またはロールで操作が機能しない場合、Snowflakeは応答をエラーコードが含まれるエラーメッセージとして 書式設定 し、関連する情報を示します。例:

003011 (42501): Grant partially executed: privileges [MANAGE LISTING AUTO FULFILLMENT, MANAGE ORGANIZATION SUPPORT CASES] not granted.

実際のメッセージテキストは変更されません

ちなみに

これらのコマンドの結果に依存するワークフローがある場合は、エラーコード情報を解析するようにスクリプトを更新します(この例では 003011 (42501))。

この変更によって影響を受けるエラーコードのリストは以下のとおりです。

003011: Grant partially executed: [ one or more privileges ] not granted.
003012: Revoke partially executed: [ one or more privileges ] not revoked.
003102: Grant not executed: Insufficient privileges.
003103: Revoke not executed: Insufficient privileges.
003104: Grant not executed: Operation not supported on a SHARE object.
003105: Revoke not executed: Operation not supported on a SHARE object.
Copy

この例の値 (42501) は、ユーザーがコマンドを実行するために選択した SQL クライアントを反映したものです(この例では Python用Snowflakeコネクタ)。この値は、コマンドの実行方法によっては表示されないことがあります(例: Snowsight はこの値を返さないか、エラーコード値が 003011)。

[ one or more privileges ] 値は、エラーの原因となったステートメントに関する情報を返すプレースホルダーです。この例では、 REFERENCE_USAGE 権限が付与されていないことを示しています。

参照: 515