如何知道将记录插入表中的应用程序/服务

时间:2013-02-19 07:10:27

标签: sql-server

是否有方法/方法/工具来监控或了解哪些应用程序或服务正在ms sql中将记录插入表中?

2 个答案:

答案 0 :(得分:2)

如果您将其作为SQL客户端工具安装的一部分安装,则可以使用SQL Server Profiler工具执行特定SQL Server实例上发生的活动的跟踪。这包括捕获将数据插入数据库的实际sql批处理。

设置跟踪时,选择SQL:BatchStarting(在TSQL事件下)和RPC:Starting(在Store Procedures下)事件。对于每个事件,选择要包含在跟踪中的以下字段:

  • textdata - 将包含正在执行的实际查询。在这里查看您的插入查询。
  • SPID
  • 开始时间
  • 应用程序名称 - 如果客户端配置了应用程序名称,则将包含客户端上的应用程序名称
  • ClientProcessID - 将包含调用SQL Server的客户端应用程序的进程ID
  • DatabaseID
  • 数据库名
  • HostName - 将包含运行客户端的计算机的名称
  • LoginName - 将包含用户的登录名(SQL Server或WIndows登录名)

您可以在DatabaseIDDatabaseName字段上添加过滤器,以便跟踪仅返回您有兴趣跟踪插入的数据库中的事件。

此外,如果想知道如何进行插入(例如,调用特定的storee来执行插入),您可以在textdata字段上以{{1}的格式定义过滤器} %stored_procedure_name%符号是通配符,它​​们之间的文本表示插入数据的查询的部分。

答案 1 :(得分:1)

如果安装Microsoft SQL Server Management Studio,“Activity Monitor”显然会显示给定连接的进程名称(例如,上次执行的语句是什么)。