0

どのアプリケーションまたはサービスがmssqlのテーブルにレコードを挿入しているかを監視または知る方法/方法/ツールはありますか?

4

2 に答える 2

2

SQLクライアントツールのインストールの一部としてインストールした場合は、SQL Server Profilerツールを使用して、SQLサーバーの特定のインスタンスで発生するアクティビティのトレースを実行できます。これには、データベースにデータを挿入している実際のSQLバッチのキャプチャが含まれます。

トレースを設定するときに、SQL:BatchStarting(TSQLイベントの下)イベントとRPC:Starting(ストアプロシージャの下)イベントを選択します。イベントごとに、トレースに含める次のフィールドを選択します。

  • textdata-実行されている実際のクエリが含まれます。挿入クエリについては、ここを参照してください。
  • spid
  • 始まる時間
  • アプリケーション名-クライアントがアプリケーション名で構成されている場合、クライアント上のアプリケーションの名前が含まれます
  • ClientProcessID-SQLServerを呼び出すクライアントアプリケーションのプロセスIDが含まれます
  • DatabaseID
  • データベース名
  • HostName-クライアントが実行されているコンピューターの名前が含まれます
  • LoginName-ユーザーのログイン(SQL ServerまたはWindowsログインのいずれか)が含まれます

DatabaseIDまたはフィールドのいずれかにフィルターを追加DatabaseNameして、挿入を追跡することに関心のあるデータベースからのイベントのみをトレースが返すようにすることができます。

さらに、挿入がどのように行われるか(たとえば、挿入を実行するために呼び出される特定のストアプロシージャ)についてのアイデアがある場合は、textdataフィールドにワイルドカードの形式でフィルタを定義でき%stored_procedure_name% %、それらの間のテキストは部分を表しますデータを挿入しているクエリの。

于 2013-02-19T07:41:26.260 に答える
1

Microsoft SQL Server Management Studio をインストールすると、"アクティビティ モニター" に特定の接続のプロセス名 (および、最後に実行されたステートメントなど) が表示されます。

于 2013-02-19T07:16:08.197 に答える