共用方式為


重新執行需求

除想要監視的其他事件類別之外,還必須在追蹤中擷取下列事件類別,以允許重新執行追蹤 (請注意,如果會使用 TSQL_Replay 追蹤範本設定稍後供重新執行使用的追蹤,根據預設這些事件已經啟用):

  • CursorClose (只有重新執行伺服端資料指標時才需要)
  • CursorExecute (只有重新執行伺服端資料指標時才需要)
  • CursorOpen (只有重新執行伺服端資料指標時才需要)
  • CursorPrepare (只有重新執行伺服端資料指標時才需要)
  • CursorUnprepare (只有重新執行伺服端資料指標時才需要)
  • 稽核登入
  • 稽核登出
  • ExistingConnection
  • RPC Output Parameter
  • RPC:Completed
  • RPC:Starting
  • Exec Prepared SQL (只有重新執行伺服器端準備的 SQL 陳述式時才需要)
  • Prepare SQL (只有重新執行伺服端 SQL 準備陳述式時才需要)
  • SQL:BatchCompleted
  • SQL:BatchStarting

若要能夠重新執行追蹤,除了要擷取的其他任何資料行之外,還必須在追蹤中擷取以下資料行:

  • 事件類別
  • EventSequence
  • TextData
  • Application Name
  • LoginName
  • DatabaseName
  • 資料庫識別碼
  • ClientProcessID
  • HostName
  • ServerName
  • Binary 資料
  • SPID
  • 開始時間
  • EndTime
  • IsSystem
  • NTDomainName
  • NTUserName
  • 錯誤
ms175525.note(zh-tw,SQL.90).gif附註:
對追蹤使用追蹤範本 TSQL_Replay,擷取重新執行的資料。

在 Microsoft SQL Server 2005 中,重新執行會檢查出現的必要事件和資料行。這個變更可協助改善重新執行的精確度,而且當有必要資料遺失時,進行重新執行的疑難排解就不需要猜測。當追蹤內遺失必要的資料時,重新執行會傳回一則錯誤,並停止重新執行該檔案。

若要在執行 SQL Server 的伺服器 (目標),而非原始追蹤的伺服器 (來源) 重新執行追蹤,請確定已完成下列各項:

  • 追蹤中包含的所有登入與使用者必須已在目標上建立,而且要與來源一樣在相同的資料庫中。
  • 目標中的所有登入與使用者,其權限必須與在來源中具有的權限相同。
  • 所有登入密碼必須與執行重新執行的使用者之密碼一樣。
  • 目標上的資料庫識別碼必須與來源上的一樣。不過,如果不相同,若追蹤內有 DatabaseName 的話, 就可以據以執行比對作業。
  • 追蹤中包含之每個登入的預設資料庫必須設成 (在目標上) 登入的個別目標資料庫。例如,要重新執行的追蹤包含 Fred 登入的活動,其位於來源的資料庫 Fred_Db 資料庫中。因此在目標上,Fred 登入的預設資料庫必須設成符合 Fred_Db 的資料庫 (即使資料庫名稱不同)。若要設定登入的預設資料庫,可使用 sp_defaultdb 系統預存程序。

重新執行與找不到或不正確之登入相關的事件,會造成重新執行錯誤,但重新執行作業仍會繼續。

如需有關重做追蹤時所需之權限的詳細資訊,請參閱<執行 SQL Server Profiler 所需的權限>。

請參閱

工作

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

參考

SQL Server 事件類別參考

其他資源

sp_defaultdb (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助