共用方式為


執行 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 在重新執行的追蹤中發生登入事件,就會執行下列權限檢查:

  1. User1 (具有 ALTER TRACE 權限) 開始重新執行追蹤。
  2. 在重新執行的追蹤中,User2 發生登入事件。
  3. SQL Server Profiler 使用 EXECUTE AS 命令來模擬 User2。
  4. SQL Server 嘗試驗證 User2,根據驗證結果,會發生下列其中一種情形:
    1. 如果無法驗證 User2,SQL Server Profiler 會傳回錯誤,並以 User1 的身分繼續重新執行追蹤。
    2. 若成功驗證 User2,就會以 User2 的身分繼續重新執行追蹤。
  5. 在目標資料庫上檢查 User2 的權限,根據檢查結果,會發生下列其中一種情形:
    1. 如果 User2 擁有目標資料庫的權限,則已模擬成功,而且是以 User2 的身分來重新執行追蹤。
    2. 如果 User2 沒有目標資料庫的權限,伺服器會檢查該資料庫上是否有 Guest 使用者。
  6. 在目標資料庫上檢查是否有 Guest 使用者,根據檢查結果,會發生下列其中一種情形:
    1. 若有 Guest 帳戶存在,就會以 Guest 帳戶來重新執行追蹤。
    2. 如果目標資料庫沒有 Guest 帳戶,就會傳回錯誤,並以 User1 的身分來重新執行追蹤。

下圖顯示重新執行追蹤時,檢查權限的程序:

SQL Server Profiler 重新執行追蹤權限

請參閱

工作

如何:建立追蹤 (SQL Server Profiler)
如何:重新執行追蹤資料表 (SQL Server Profiler)
如何:重新執行追蹤檔案 (SQL Server Profiler)

概念

重新執行追蹤

其他資源

SQL Server Profiler 預存程序 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助