プロが教える店舗&オフィスのセキュリティ対策術

SQLServerにおいてプロファイラを実行するとリアルタイムでトレースが出力されます。
しかし、Windowsをログオフすると停止されてしまいます。
ログオフしてもトレースをファイルに出力し続ける方法を教えていただけないでしょうか?

A 回答 (1件)

クエリによるトレースファイル作成ならいかがでしょうか?



プロファイラでお好みの設定で実行します。
ファイル-エクスポート-トレース定義のスクリプト からスクリプトを保存します。
プロファイラは終了してください。

ManagementStudio、クエリアナライザなどで↑で保存したSQL開きます。

「exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL」
こんな一文がありますので、「InsertFileNameHere」の部分に保存先のパス+ファイル名に変更
実行します。
☆このとき結果として出力された値は、停止と終了で使用するので控えてください。

これでトレースファイルが作成されていきます。
ファイルの作成数、1ファイルのサイズ上限など設定できますのでお好みに。

ManagementStudio、クエリアナライザは閉じて大丈夫だったと思うのでこれでいけるのではないかと思います。

停止、終了は、
sp_trace_setstatus 2, 0 --2の部分は☆の出力された値、0は停止です。
sp_trace_setstatus 2, 2 --2の部分は☆の出力された値、2は終了です。
この順番でやらないと作成中のファイルが開放されないので気をつけてください。
ちなみに、
sp_trace_setstatus 2, 1 --2の部分は☆の出力された値、1は開始です。
    • good
    • 0
この回答へのお礼

ありがとうございました。
とてもわかりやすかったです。
今後ともよろしくお願いいたします。

お礼日時:2011/05/02 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!