• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:トレース定義の保存について)

トレース定義の保存方法について

このQ&Aのポイント
  • SQL Server Profilerでのトレースを再起動しても削除されない方法を知りたい
  • トレース定義は再起動すると削除されるのか、永続化させる方法はあるのか
  • トレース定義の停止と開始をインスタンスの起動停止と同時に行いたい

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

  • ベストアンサー
回答No.1

こんにちは。 試してみました。 定義は消えてしまうようですね。(TraceID自体が消えていました) 考えた方法は、トレース定義+トレース開始のスクリプトをストアドプロシージャにして、 そのストアドを自動実行させる方法です。 exec sp_procoption 作成したトレースのストアドプロシージャ名,startup, true; 自動実行を終了させる場合、 exec sp_procoption 作成したトレースのストアドプロシージャ名,startup, false; 自動実行登録されたストアドを調べる際は、 SELECT * FROM sysobjects WHERE xtype IN ('X','P') AND ObjectProperty(id, 'ExecIsStartup') = 1 とかで調べられると思います。 トレースの停止と終了を正しく行わない(インスタンス終了で停止)のためトレースファイルを開くときは権限を与えてあげないと開けませんでした。 よろしければお試しください。

yupug
質問者

お礼

さっそく回答いただき、ありがとうございます。 (実機で確認までいただき、ありがとうございます) やはり削除されてしまいますか。。。 ご提案いただいたストアドの方式で実装しようと思います。 ただ、よろしければ以下の記述について、 詳細を教えていただけないでしょうか。 >トレースの停止と終了を正しく行わない(インスタンス終了で停止)のため >トレースファイルを開くときは権限を与えてあげないと開けませんでした。 ストアド方式の場合は、インスタンス停止でトレースが終了となることで、 トレースの通常の停止→終了・削除が行えないことで、 トレースファイルをSQL Server Profiler等で確認する場合に、 別途権限が必要となるということでしょうか? 申し訳ありませんが、ご回答いただけますと幸いです。

その他の回答 (1)

回答No.2

>トレースの停止と終了を正しく行わない(インスタンス終了で停止)のため >トレースファイルを開くときは権限を与えてあげないと開けませんでした。 失礼しました。これは私の環境によるものでした。 作成したトレースファイルを開くことができるアカウントであれば問題ありません。 お騒がせしました。

関連するQ&A