共用方式為


sp_unsetapprole (Transact-SQL)

停用應用程式角色並還原至先前的安全性內容。

主題連結圖示Transact-SQL 語法慣例

語法

sp_unsetapprole @cookie 

引數

  • @cookie
    指定在應用程式角色啟動時所建立的 Cookie。此 Cookie 是由sp_setapprole (Transact-SQL)所建立。varbinary(8000)

傳回碼值

0 (成功) 和 1 (失敗)

備註

在使用 sp_setapprole 啟動應用程式角色之後,角色會保持使用中的狀態,直到使用者與伺服器中斷連接或執行 sp_unsetapprole 為止。

如需應用程式角色的概觀,請參閱<應用程式角色>。

權限

需要 public 中的成員資格以及對啟動應用程式角色時所儲存 Cookie 的暸解。

範例

下列範例會啟動含有密碼 fdsd896#gfdbfdkjgh700mM 的 Sales11 應用程式角色,然後建立 Cookie。這個範例會傳回目前使用者的名稱,然後執行 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