sp_unsetapprole (Transact-SQL)
適用対象:SQL Server
アプリケーション ロールを非アクティブ化し、以前のセキュリティ コンテキストに戻します。
構文
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
引数
[ @cookie = ] Cookie
アプリケーション ロールがアクティブ化されたときに作成された Cookie を指定します。 @cookieは varbinary(8000)で、既定値はありません。 Cookie は、sp_setapprole (Transact-SQL) によって作成されます。
Note
現在、sp_setapprole
cookie OUTPUT
パラメーターは varbinary(8000) として文書化されています。これは正しい最大長です。 ただし、現在の実装では varbinary(50) を返します。 アプリケーションは varbinary(8000) を引き続き予約して、今後のリリースで Cookie の戻りサイズが大きくなるとアプリケーションが正常に動作し続ける必要があります。
リターン コードの値
0 (成功) と 1 (失敗)
解説
アプリケーション ロールを使用sp_setapprole
してアクティブ化すると、ユーザーがサーバーから切断されるか実行sp_unsetapprole
されるまで、ロールが再メインアクティブになります。
アプリケーション ロールの概要については、「アプリケーション ロール」を参照してください。
アクセス許可
パブリックのメンバーシップと、アプリケーション ロールがアクティブ化されたときに保存された Cookie に関する知識が必要です。
例
Cookie を使用してアプリケーション ロールをアクティブ化し、前のコンテキストに戻す
次の例では、パスワード Sales11
が設定されているアプリケーション ロール fdsd896#gfdbfdkjgh700mM
をアクティブ化し、クッキーを作成します。 この例では、現在のユーザーの名前が返されます。その後、sp_unsetapprole
を実行して元のコンテキストに戻します。
DECLARE @cookie VARBINARY(8000);
EXEC sp_setapprole 'Sales11',
'fdsd896#gfdbfdkjgh700mM',
@fCreateCookie = true,
@cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- Return the name of the application role, Sales11.
EXEC sp_unsetapprole @cookie;
-- The application role is no longer active.
-- The original context has now been restored.
GO
-- Return the name of the original user.
SELECT USER_NAME();
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示