2011-07-13 6 views
2

SQL Server 2008のバックエンドを備えたASP.NET 3.5 Webアプリケーションがあります。データベースアクセスログの解決方法SQL Server 2008/ASP.NET 3.5

次のように、すべてのデータベース・アクセスをログに記録するための新たな要件があります:選択のために

は:

ストアドプロシージャが
  • 渡されたどのようなパラメータ
  • 挿入のために実行された何

      1. ストアドプロシージャが実行されたもの210
      2. 更新について
      3. ログに挿入された行(複数可)

      を通過したどのパラメータ:

      ストアドプロシージャが実行された何
      1. パラメータが渡された何
      2. 古い行をログに書き込む
      3. 新しい行をログに記録する削除のために

      1. ストアドプロシージャが実行された何
      2. ログ

      も報告義務あります行(複数可)を削除し合格、それはだた何のパラメータそれほど重要ではありません。

      私自身のロガーの作成を始める前に、これを実行するソリューションがあるかどうか疑問に思っていましたか?

      Change Data Captureは有望に見えるが、唯一のデータの変更(無選択)

      PSをログに記録します。私のWebアプリケーションは、ユーザーがソースコードを購入し、アプリをホストしているので、SQLプロファイラではないだろう「ローカルインストール」オプションを持っていますthis question

    +0

    Linqでデバッグライターを使用していますが、Entity Frameworkを使用する場合は同様のものがあります。これは、クエリの実行をデバッグウィンドウに出力するように設計されており、Googleに簡単だと思います。 ORMを使用している場合は、これらのTextWriter(基本的には基本的には)を調整して、どこかのログに出力できますか? – Smudge202

    +0

    @ Smudge202:ORM –

    +0

    を使用していないので、何を使用していますか? – Smudge202

    答えて

    1

    上記のすべてを取得するには、tsqlを使用してトレースを作成できます。プロファイラを使用することはできないと述べていますので、proc sp_trace_createに格納されたシステムを使用してトレースを作成してください。ユーザーアクティビティをトレースファイルに記録することができます。最大値を指定することができます。トレース・ファイルのサイズ、およびログ・ファイルをローテーションする間隔も指定します。あなたが必要とする他のシステムのSPのいくつかは以下のとおりです。参照のため

    • SP_TRACE_CREATE
    • SP_TRACE_SETEVENT
    • sp_trace_setfilterという
    • SP_TRACE_SETSTATUS

    http://sqlserverpedia.com/wiki/Running_Traces_with_TSQL

    :チュートリアル用 http://technet.microsoft.com/en-us/library/ms188662.aspx

    関連する問題