sp_unsetapprole (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン)

アプリケーションロールを非アクティブ化して、以前のセキュリティコンテキストに戻します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

  
sp_unsetapprole @cookie   

引数

@cookie
アプリケーションロールがアクティブ化されたときに作成されたクッキーを指定します。 cookie はsp_setapprole (transact-sql SQL)によって作成されます。 varbinary (8000)

注意

sp_setapprole のクッキーの OUTPUT パラメーターは現在、適切な最大長である varbinary(8000) としてドキュメントに記載されています。 ただし、現在の実装では varbinary(50) を返します。 アプリケーションは、今後のリリースでクッキーの戻り値のサイズが増加した場合にアプリケーションが引き続き正常に動作するように、 varbinary (8000) を引き続き予約する必要があります。

リターン コードの値

0 (成功) と 1 (失敗)

解説

Sp_setapprole を使用してアプリケーションロールをアクティブ化した後は、ユーザーがサーバーとの接続を切断するか sp_unsetapprole を実行するまで、ロールはアクティブのままになります。

アプリケーションロールの概要については、「 アプリケーションロール」を参照してください。

アクセス許可

アプリケーションロールがアクティブ化されたときに保存された 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();  
-- This will 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  
SELECT USER_NAME();  
-- This will return the name of the original user.   
GO   

参照

sp_setapprole (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
セキュリティ ストアド プロシージャ (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)