sys.fn_xe_file_target_read_file (Transact-SQL)
讀取擴充事件非同步檔案目標所建立的檔案。 系統會以 XML 格式針對每個資料列傳回一個事件。
注意 |
---|
SQL Server 2008 和 SQL Server 2008 R2 會接受 XEL 與 XEM 格式所產生的追蹤結果。 SQL Server 2012 擴充事件只會支援 XEL 格式的追蹤結果。 我們建議您使用 SQL Server Management Studio 來讀取 XEL 格式的追蹤結果。 |
語法
sys.fn_xe_file_target_read_file ( path, mdpath, initial_file_name, initial_offset )
引數
path
要讀取之檔案的路徑。 path 可以包含萬用字元和檔案名稱。 path 是 nvarchar(260)。 沒有預設值。mdpath
對應至 path 引數所指定之檔案的中繼資料檔案的路徑。 mdpath 是 nvarchar(260)。 沒有預設值。[!附註]
SQL Server 2012 不需要 mdpath 參數。 但是,維護它是為了保留與舊版 SQL Server 產生之記錄檔之間的相容性。
initial_file_name
要從 path 中讀取的第一個檔案。 initial_file_name 是 nvarchar(260)。 沒有預設值。 如果您將 null 指定為引數,就會讀取在 path 中找到的所有檔案。[!附註]
initial_file_name 和 initial_offset 是成對的引數。 如果您指定任何一個引數的值,就必須指定另一個引數的值。
initial_offset
用來指定先前所讀取的上個位移,並略過所有事件直到位移為止 (含)。 從指定的位移之後,開始事件列舉。 initial_offset 是 bigint。 如果您將 null 指定為引數,就會讀取整個檔案。
傳回的資料表
資料行名稱 |
資料類型 |
說明 |
---|---|---|
module_guid |
uniqueidentifier |
事件模組 GUID。 不可為 Null。 |
package_guid |
uniqueidentifier |
事件封裝 GUID。 不可為 Null。 |
object_name |
nvarchar(256) |
事件的名稱。 不可為 Null。 |
event_data |
nvarchar(max) |
事件內容 (XML 格式)。 不可為 Null。 |
file_name |
nvarchar(260) |
包含此事件之檔案的名稱。 不可為 Null。 |
file_offset |
bigint |
包含此事件之檔案中的區塊位移。 不可為 Null。 |
權限
需要伺服器的 VIEW SERVER STATE 權限。
範例
A.從檔案目標中擷取資料
下列範例會從所有檔案中取得所有資料列。 在這個範例中,檔案目標和中繼檔都位於 C:\ 磁碟機的追蹤資料夾中。
SELECT * FROM sys.fn_xe_file_target_read_file('C:\traces\*.xel', 'C:\traces\metafile.xem', null, null);