2012-03-16 6 views
1

私はこのストアドプロシージャSys.xp_readerrorlogで約1週間作業しています。データを表示する方法を完全に洗練するために7つのパラメータを受け入れることができます。簡単に理解するのに十分です。ストアドプロシージャはどこにありますか?Sys.xp_readerrorlog特にその内容を読み取りますか?

私は今どこから質問がありますか?このストアドプロシージャはどこからデータを取得しますか? SQL Serverのログフォルダでは、SSMSオブジェクトブラウザのデータをプレビューすることもできますが、ログを読むときに開くダイアログでは、この手順を使用してユーザーに表示するという理論になっています。グリッド。

私は困惑しています。それは照会可能である場合、私は、システムデータベースを通じてスカウト、あなたは、この手順

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

実際のログデータが保存されている私に言うことができる任意の専門家から取得出力のように遠隔地に見える何も(なしのテーブルを)見られない、とあなたが管理者権限を持っている場合はselectステートメントを通して?

答えて

3

プレーンテキストファイルであるSQL Server error log fileから読み取ります。 TSQLのファイルへの組み込みインターフェイスはありません。 xp_readerrorlogは広く知られていますが、文書化されていないので、それに頼ることは危険です。ただし、そのリスクに気をつけなければuse itにすることもできます。

SMOOを使用すると、ファイルlocationが見つかりますが、テキストファイルなので特別なAPIはありません。

+0

来るとは思っていませんでしたが、実際には内部データベースに保存されていると思っていましたが、好奇心がうかがえました。私はそれを一時テーブルに抽出し、内部パラメータとPATINDEX()メソッドを使用してそれを操作し、別の列レイアウトを持つ別のテーブルに一括コピーするコードを持っています。 – Eon

+0

あなたのポイントを獲得しました。今すぐ私の芝生から降りてください:D – Eon

+0

私は、SQL Serverがロギングのための「フェールセーフ」の場所を必要としていると思います。起動時に致命的なエラーが発生した場合、システムデータベースはオンラインでなくても使用できない可能性があります。 (芝生から降りる) – Pondlife

関連する問題