sp_unsetapprole (Transact-SQL)
適用於:SQL Server
停用應用程式角色,並還原為先前的安全性內容。
語法
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
引數
[ @cookie = ] cookie
指定啟動應用程式角色時所建立的 Cookie。 @cookie為 varbinary(8000),沒有預設值。 cookie 是由 sp_setapprole所建立。
注意
的 Cookie OUTPUT
參數 sp_setapprole
目前記載為 varbinary(8000), 這是正確的最大長度。 但目前的實作會傳回 varbinary(50) 。 應用程式應該繼續保留 varbinary(8000) ,以便在未來版本中 Cookie 傳回大小增加時,應用程式繼續正常運作。
傳回碼值
0 (成功) 和 1 (失敗)
備註
使用 sp_setapprole
啟用應用程式角色之後,角色會保持作用中,直到用戶中斷與伺服器連線或執行 sp_unsetapprole
為止。
如需應用程式角色的概觀,請參閱 應用程式角色。
權限
需要公用的成員資格,以及啟用應用程式角色時所儲存的 Cookie 知識。
範例
使用 Cookie 啟動應用程式角色,然後還原為先前的內容
下列範例會 Sales11
使用密碼 fdsd896#gfdbfdkjgh700mM
啟動應用程式角色,並建立 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();
-- 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