我有一个客户端应用程序,通过localhost上的按钮向我显示SQL Server的用户信息,产品和价格等。
例如,当我点击节目费用时,它会获得一些信息。
我想了解哪个按钮执行哪个查询?
应用程序执行的监视器SQL语句是否有任何方式?
我试过
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
但此代码不显示应用程序的SQL语句。
感谢。
答案 0 :(得分:1)
通常在使用Sql Server Profiler时,在运行跟踪时也可以获得其他数据库的结果 - 如果同一数据库服务器托管了其他应用程序使用的其他数据库。您可能希望跟踪您的应用程序正在使用的您的数据库中的内容。您可能不是这种情况如果您的数据库服务器中只有一个数据库 - 只需提及如果是这种情况。我发现这种方法非常有用。
我会将您的数据库设置为过滤器模板,并使用该模板创建跟踪。
这就是您创建模板的方式 - http://technet.microsoft.com/en-us/library/ms175070.aspx
这是您过滤以查看仅针对您的数据库执行的查询的方法: -
在跟踪模板属性>下“事件选择”选项卡>选择节目 所有专栏。现在在列过滤器下,您应该看到数据库 名称。输入Like部分的数据库名称,您应该看到 仅针对该数据库的跟踪。
您可以看到应用程序执行的Sql语句。我让剖析器运行在前面。请参阅下面的示例。
用户在以下窗体中输入名称“ashish1”: -
用户点击按钮时执行的代码: -
如果您运行了探查器,您可以看到应用程序发送的Sql语句: -