執行 SQL Server Profiler 所需的權限
根據預設,執行 SQL Server Profiler 時,所需的使用者權限與用來建立追蹤的 Transact-SQL 預存程序相同。若要執行 SQL Server Profiler,使用者必須被授與 ALTER TRACE 權限。如需詳細資訊,請參閱<GRANT 伺服器權限 (Transact-SQL)>。
用來重新執行追蹤的權限
重新執行追蹤時,執行的使用者也必須要有 ALTER TRACE 權限。
然而,在重新執行期間,如果所重新執行的追蹤發生「稽核登入」事件,則 SQL Server Profiler 會使用 EXECUTE AS 命令。SQL Server Profiler 會使用 EXECUTE AS 命令來模擬與該登入事件有關的使用者。
如果 SQL Server Profiler 在重新執行的追蹤中發生登入事件,就會執行下列權限檢查:
- User1 (具有 ALTER TRACE 權限) 開始重新執行追蹤。
- 在重新執行的追蹤中,User2 發生登入事件。
- SQL Server Profiler 使用 EXECUTE AS 命令來模擬 User2。
- SQL Server 嘗試驗證 User2,根據驗證結果,會發生下列其中一種情形:
- 如果無法驗證 User2,SQL Server Profiler 會傳回錯誤,並以 User1 的身分繼續重新執行追蹤。
- 若成功驗證 User2,就會以 User2 的身分繼續重新執行追蹤。
- 在目標資料庫上檢查 User2 的權限,根據檢查結果,會發生下列其中一種情形:
- 如果 User2 擁有目標資料庫的權限,則已模擬成功,而且是以 User2 的身分來重新執行追蹤。
- 如果 User2 沒有目標資料庫的權限,伺服器會檢查該資料庫上是否有 Guest 使用者。
- 在目標資料庫上檢查是否有 Guest 使用者,根據檢查結果,會發生下列其中一種情形:
- 若有 Guest 帳戶存在,就會以 Guest 帳戶來重新執行追蹤。
- 如果目標資料庫沒有 Guest 帳戶,就會傳回錯誤,並以 User1 的身分來重新執行追蹤。
下圖顯示重新執行追蹤時,檢查權限的程序:
請參閱
工作
如何:建立追蹤 (SQL Server Profiler)
如何:重新執行追蹤資料表 (SQL Server Profiler)
如何:重新執行追蹤檔案 (SQL Server Profiler)
概念
其他資源
SQL Server Profiler 預存程序 (Transact-SQL)