sys.fn_xe_file_target_read_file (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database

讀取擴充事件非同步檔案目標所建立的檔案。 系統會以 XML 格式針對每個資料列傳回一個事件。

警告

SQL Server 2008 和 SQL Server 2008 R2 接受以 XEL 和 XEM 格式產生的追蹤結果。 SQL Server 2012 (11.x) 擴充的事件只支援 XEL 格式的追蹤結果。 我們建議您使用 SQL Server Management Studio 來讀取 XEL 格式的追蹤結果。

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

語法

  
sys.fn_xe_file_target_read_file ( path, mdpath, initial_file_name, initial_offset )  

引數

path
要讀取之檔案的路徑。 路徑 可以包含萬用字元並包含檔案名。 路徑Nvarchar (260)。 沒有預設值。 在 Azure SQL Database 的內容中,這個值是 Azure 儲存體中檔案的 HTTP URL。

mdpath
中繼資料檔案的路徑,該檔案對應至 path 引數所指定的檔案。 mdpathNvarchar (260)。 沒有預設值。 從 SQL Server 2016 開始,可以將這個參數指定為 null。

注意

SQL Server 2012 (11.x) 不需要 mdpath 參數。 但是,維護它是為了保留與舊版 SQL Server 產生之記錄檔之間的相容性。

initial_file_name
要從 路徑 讀取的第一個檔案。 initial_file_nameNvarchar (260)。 沒有預設值。 如果指定 null 做為引數,就會讀取 路徑 中找到的所有檔案。

注意

initial_file_nameinitial_offset 是成對的引數。 如果您指定任何一個引數的值,就必須指定另一個引數的值。

initial_offset
用來指定先前所讀取的上個位移,並略過所有事件直到位移為止 (含)。 從指定的位移之後,開始事件列舉。 initial_offsetBigint。 如果指定 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。
timestamp_utc datetime2 適用於:SQL Server 2017 (14.x) 及更新版本和 Azure SQL Database。

事件的日期和時間 (UTC 時區) 。 不可為 Null。

備註

藉由在中執行 sys.fn_xe_file_target_read_file 來讀取大型結果集 Management Studio 可能會導致錯誤。 使用 [ 結果至 檔案模式] (Ctrl + Shift + F) 將大型結果集匯出至檔案,並改為以其他工具讀取檔案。

權限

需要伺服器的 VIEW SERVER STATE 權限。

範例

A. 從檔案目標中擷取資料

下列範例會從所有檔案中取得所有資料列。 在這個範例中,檔案目標和中繼檔都位於 C:\ 磁碟機的追蹤資料夾中。

SELECT * FROM sys.fn_xe_file_target_read_file('C:\traces\*.xel', 'C:\traces\metafile.xem', null, null);  

另請參閱

擴充的事件動態管理檢視
擴充的事件目錄檢視 (transact-sql SQL)
擴充事件