• ベストアンサー

プロファイラを裏で実行継続するには?

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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は開始です。

sprinter1130
質問者

お礼

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

関連するQ&A