0

有没有一种方法/方法/工具来监视或知道哪些应用程序或服务正在将记录插入到 ms sql 中的表中?

4

2 回答 2

2

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

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

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

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

此外,如果知道如何进行插入(例如,调用特定的存储过程来执行插入),您可以在textdata字段上定义一个过滤器,其格式为%stored_procedure_name% %通配符,它​​们之间的文本代表一个部分插入数据的查询。

于 2013-02-19T07:41:26.260 回答
1

如果您安装 Microsoft SQL Server Management Studio,“活动监视器”显然会显示给定连接的进程名称(例如,最后执行的语句是什么)。

于 2013-02-19T07:16:08.197 回答