The Wayback Machine - http://web.archive.org/web/20121027150257/http://msdn.microsoft.com:80/zh-tw/library/ms186297(v=sql.90).aspx
本主題尚未接受評分 - 為這個主題評分

SETUSER (Transact-SQL)

只允許系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,能夠模擬另一位使用者。

ms186297.note(zh-tw,SQL.90).gif重要事項:
Microsoft SQL Server 2005 包括 SETUSER 的目的,是為了與舊版相容。未來的 SQL Server 版本可能不支援 SETUSER。我們建議您改用 EXECUTE AS。

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


SETUSER [ 'username' [ WITH NORESET ] ] 

'username'

這是在模擬的目前資料庫中之 SQL Server 或 Microsoft Windows 使用者名稱。當未指定 username 時,會重設摸擬使用者的系統管理員或資料庫擁有者的原始識別。

WITH NORESET

指定後續的 SETUSER 陳述式 (不含指定的 username) 不應將使用者識別重設為系統管理員或資料庫擁有者。

系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,可以利用 SETUSER 來採用另一位使用者的識別,以測試其他使用者的權限。

請只搭配 SQL Server 使用者使用 SETUSER。不支援 Windows 使用者使用 SETUSER。當利用 SETUSER 來假設使用另一位使用者的識別時,被模擬的使用者會擁有進行模擬的使用者所建立的任何物件。例如,如果資料庫擁有者假設使用 Margaret 使用者的識別,並建立稱為 orders 的資料表,orders 資料表的擁有者便是 Margaret,而不是系統管理員。

SETUSER 會維持有效,直到發出另一個 SETUSER 陳述式,或直到利用 USE 陳述式來變更目前資料庫為止。

ms186297.note(zh-tw,SQL.90).gif附註:
如果使用 SETUSER WITH NORESET,資料庫擁有者或系統管理員必須登出,再重新登入,以便重新建立他們自己的權利。

需要系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色中的成員資格。

下列範例會顯示資料庫擁有者可以如何採用另一位使用者的識別。mary 使用者建立了稱為 computer_types 的資料表。藉由使用 SETUSER,資料庫擁有者模擬 mary 來授與 joe 使用者存取 computer_types 資料表的權利,然後再重設他們自己的識別。

SETUSER 'mary'
GO
GRANT SELECT ON computer_types TO joe
GO
SETUSER
本文對您有任何幫助嗎?
(剩餘 1500 個字元)
社群內容 新增
Image
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?