[新機能]Snowflakeでプレビュー機能の有効化・無効化を制御できるシステム関数がリリースされました
さがらです。
Snowflakeの新機能として、プレビュー機能の有効化・無効化を制御できるシステム関数がリリースされました。
早速試してみたので、本記事でその内容をまとめてみます。
試してみた
今回試すシステム関数は全てACCOUNTADMIN
でないと実行できないため、ご注意ください。
プレビュー機能の無効化
対象のアカウントで全てのプレビュー機能を無効化するには、SYSTEM$DISABLE_PREVIEW_ACCESS
関数を使います。
use role accountadmin;
select SYSTEM$DISABLE_PREVIEW_ACCESS();
この状態で、プレビュー機能であるリネージ機能とCREATE OR ALTERコマンドを試してみます。
リネージ機能は、通常通り見ることができました。(Snowsight上の機能は制御できないということですかね…?)
CREATE OR ALTERコマンド
は、下記のようにエラーとなりました。
プレビュー機能の有効化
対象のアカウントで全てのプレビュー機能を有効化するには、SYSTEM$ENABLE_PREVIEW_ACCESS()
関数を使います。
use role accountadmin;
select SYSTEM$ENABLE_PREVIEW_ACCESS();
この状態で、先程エラーとなったCREATE OR ALTERコマンド
を実行すると、無事に成功しました。ちゃんと無効化・有効化の制御ができたことがわかりますね。
プレビュー機能が有効化・無効化どちらの設定がされているかの確認
プレビュー機能が有効化・無効化、どちらの設定がされているかの確認をするには、SYSTEM$GET_PREVIEW_ACCESS_STATUS()
関数を使います。
use role accountadmin;
select SYSTEM$GET_PREVIEW_ACCESS_STATUS();
下図は有効化されている場合の結果となります。
最後に
Snowflakeの新機能として、プレビュー機能の有効化・無効化を制御できるシステム関数がリリースされたので早速試してみました。
私の検証範囲ではSnowsight上のプレビュー機能は無効化できませんでしたが、SQLコマンドは無効化出来ることが確認できました。
とはいっても、Snowsight上のプレビュー機能はpreview
と横に書いてありますし、大きく問題にはならないと思っています。また、未検証のため推測になってしまいますが、Snowsightを介してプレビューのSQLコマンドを叩く機能が出たとしても無効化出来るのでは…と考えています。
プレビュー機能を実運用環境に適用させたくない場合には、ぜひ活用してみてください!