sp_unsetapprole (Transact-SQL)
停用應用程式角色並還原至先前的安全性內容。
語法
sp_unsetapprole @cookie
傳回碼值
0 (成功) 和 1 (失敗)
備註
在使用 sp_setapprole 啟動應用程式角色之後,角色會保持使用中的狀態,直到使用者與伺服器中斷連接或執行 sp_unsetapprole 為止。
如需應用程式角色的概觀,請參閱<應用程式角色>。
權限
需要 public 中的成員資格以及對啟動應用程式角色時所儲存 Cookie 的暸解。
範例
利用 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