我继承了一个使用SQL Server作为数据库的应用程序。 要了解在封闭代码应用程序中执行特定任务时从应用程序访问的表,我通常使用SQL事件探查器来识别在每个功能的幕后执行的表和查询(例如添加客户)。
但是对于这个应用程序,所有发出的SQL语句都是'Prepare SQL'和'Exec Prepared SQL',这个应用程序在这个应用程序中都没有返回'TextData'列,它通常显示执行的SQL命令。
登录事件也未显示,并且所有SQL语句都显示在可归因于应用程序服务帐户的探查器中。因此,我推断用户登录到应用程序,但应用程序通过服务帐户与数据库通信,并且SQL语句以某种方式隐藏。
是否有人知道如何在'Prepare SQl'和'Exec Prepared SQL'语句中公开/显示TextData列内容,以便我可以看到应用程序正在使用哪些表?我知道有很多软件包声称他们可以做到这一点,但我怀疑他们只是使用与分析器相同的信息,所以不会显示任何额外的信息。
答案 0 :(得分:0)
在“跟踪”属性的“事件选择”选项卡中的“存储过程”下,选择TSQL下的SQL:StmtStart和SP:stmtStarting。
通过这种方式,您可以不会错过文本数据中的任何语句。