SQL Server Profiler 显示针对 SQL Server 实例执行的实时命令流。用于捕获这些数据的 API 是什么?
背景:我需要编写一个小实用程序(在 C++ 中)来跟踪由单独的应用程序发出的 SQL 命令。
SQL Server Profiler 显示针对 SQL Server 实例执行的实时命令流。用于捕获这些数据的 API 是什么?
背景:我需要编写一个小实用程序(在 C++ 中)来跟踪由单独的应用程序发出的 SQL 命令。
我不知道 Profiler 是否这样做,但它们是通过TraceServer API 公开的。
该博客解释了 Trae 管理对象 (TMO) 以及如何使用它。
API开发团队博客上有一个快速的 C#(应该很容易转换为 c++)程序,它连接到 SQL Server 并在请求到达 SQL Server 时实时显示所有起始批次的文本。
例如来自链接的代码片段
Console.WriteLine("Event : " + trace["EventClass"]);
Console.WriteLine("SPID : " + trace["SPID"]);
Console.WriteLine("Login : " + trace["SessionLoginName"]);
Console.WriteLine("Object: " + trace["ObjectName"]);
Console.WriteLine("Text : " + trace["TextData"]);
正如 Alex 所提到的,您将需要使用TraceServer API。