Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
データベース管理者が同じ接続で別の認証されたユーザーの ID を使用することを許可します。
{ SET SESSION AUTHORIZATION | SETUSER } [ [ WITH OPTION ] userid ]
WITH OPTION 句 デフォルトでは、パーミッション (グループメンバーシップを含む) だけが変更されます。WITH OPTION を指定すると、有効なデータベースオプションは userid の現在のデータベースオプションに変更されます。
userid ユーザー ID は、識別子 (SETUSER 構文) または文字列 (SET SESSION AUTHORIZATION 構文) です。
SETUSER 文は、管理作業のために提供されており、接続プーリングには使用しないでください。SETUSER 文を実行した後、以下のいずれかのコマンドを実行すると、使用しているユーザー認証を確認できます。
ユーザー ID のない SETUSER は、前に実行したすべての SETUSER 文を元に戻します。
プロシージャー、トリガー、イベントハンドラー、またはバッチ内では SETUSER 文を使用できません。
SETUSER 文の使用法には、次のようなものがあります。
オブジェクトの作成 SETUSER を使用して、別のユーザーが所有することになるデータベースオブジェクトを作成できます。
パーミッションのチェック データベース管理者は、別のユーザーのパーミッションとグループメンバーシップを使用し、クエリ、プロシージャー、ビューなどのパーミッションや名前の決定をテストできます。
管理者に安全な環境を提供 データベース管理者はデータベースでのすべての動作を行うパーミッションを持ちます。不注意から意図しない動作を行うことを確実に回避したい場合は、SETUSER を使用してパーミッションの少ない別のユーザー ID に切り替えることができます。
プロシージャー、トリガー、イベント、またはバッチ内では SETUSER 文を使用できません。
DBA 権限。
SQL/2008 SET SESSION AUTHORIZATION 構文は、SQL/2008 のオプションの言語機能 F321、"User authorization" の一部です。SETUSER 構文はベンダー拡張です。WITH OPTION 構文はいずれの変形でも使用できますが、WITH OPTION はベンダー拡張です。
次の文は、ユーザー名 DBA によって実行され、ユーザー ID を Joe に変更し、さらに Jane に変更した後、DBA に戻します。
SETUSER "Joe" // ... operations... SETUSER WITH OPTION "Jane" // ... operations... SETUSER
次の文は、ユーザーを Jane に設定します。ユーザー ID は、識別子ではなく文字列として提供されます。
SET SESSION AUTHORIZATION 'Jane';