有没有一种方法/方法/工具来监视或知道哪些应用程序或服务正在将记录插入到 ms sql 中的表中?
问问题
1276 次
2 回答
2
如果您将它安装为 SQL 客户端工具安装的一部分,则可以使用该SQL Server Profiler
工具来跟踪在特定 SQL 服务器实例上发生的活动。这包括捕获将数据插入数据库的实际 sql 批处理。
设置跟踪时,选择SQL:BatchStarting
(在 TSQL 事件下)和RPC:Starting
(在存储过程下)事件。对于每个事件,选择要包含在跟踪中的以下字段:
- textdata - 将包含正在执行的实际查询。在此处查找您的插入查询。
- 蜘蛛
- 开始时间
- 应用程序名称 - 如果客户端配置了应用程序名称,则将包含客户端上的应用程序名称
- ClientProcessID - 将包含调用 SQL Server 的客户端应用程序的进程 ID
- 数据库ID
- 数据库名称
- HostName - 将包含运行客户端的计算机的名称
- LoginName - 将包含用户的登录名(SQL Server 或 WINdows 登录名)
您可以在DatabaseID
orDatabaseName
字段上添加过滤器,以便跟踪仅返回您有兴趣跟踪插入的数据库中的事件。
此外,如果知道如何进行插入(例如,调用特定的存储过程来执行插入),您可以在textdata
字段上定义一个过滤器,其格式为%stored_procedure_name%
%
通配符,它们之间的文本代表一个部分插入数据的查询。
于 2013-02-19T07:41:26.260 回答
1
如果您安装 Microsoft SQL Server Management Studio,“活动监视器”显然会显示给定连接的进程名称(例如,最后执行的语句是什么)。
于 2013-02-19T07:16:08.197 回答