2012-03-16 88 views
1

我一直在使用這個存儲過程Sys.xp_readerrorlog了一個星期左右,現在,我已經學會是它接受7個參數,充分完善它應該如何顯示其數據。容易理解。存儲過程sys.xp_readerrorlog從哪裏具體讀取其內容?

我有現在的問題而來,正是這是否存儲過程從獲取它的數據?我知道您也可以在SSMS對象瀏覽器中的管理在SQL Server日誌文件夾下預覽數據,儘管我已經理解了當您閱讀日誌時打開的對話框也會使用此過程向用戶顯示一個網格。

我百思不得其解。我通過系統數據庫球探並沒有發現(無表)看起來遠程像你從這個過程

exec sys.xp_readerrorlog 1,0,'','',null,null,N'Desc'; 

任何專家能告訴我在哪裏實際日誌數據存儲得到的輸出,如果是可查詢通過選擇語句,如果你有管理權限?

回答

3

它從SQL Server error log file,它是一個純文本文件中讀取。 TSQL沒有內置的文件接口; xp_readerrorlog是衆所周知的,但它也沒有證件,以便依靠它是有風險的,雖然你當然可以use it,如果你不介意的風險。

使用SMO,你可以找到該文件location但沒有特殊的API,用於讀取它,因爲它只是一個文本文件。

+0

沒想到會來,真的以爲它存儲在一個內部數據庫中,但好奇心很激動,我覺得有必要問。我有代碼將其提取到臨時表中,使用內部參數和PATINDEX()方法對其進行處理,並將其批量複製到具有另一個列布局的另一個表中。 – Eon 2012-03-16 10:54:00

+0

您贏得了積分。現在離開我的草坪:D – Eon 2012-03-16 10:54:19

+0

我想這個想法是,SQL Server需要一個「故障安全」的位置進行記錄,例如,如果在啓動過程中發生致命錯誤,那麼系統數據庫可能甚至不能聯機並可用。 (取下草坪。) – Pondlife 2012-03-16 12:38:54

相關問題