SQL Server 获取解析的查询

Posted

技术标签:

【中文标题】SQL Server 获取解析的查询【英文标题】:SQL Server Getting Parsed Query 【发布时间】:2013-07-23 07:43:42 【问题描述】:

我需要获取给定 SQL Server 存储过程的每条语句。

为此,我生成执行计划 XML 并在查询中查找“StmtSimple”节点。

这种方法对于大型程序来说相当慢。

有没有什么方法可以在不生成 XML 执行计划的情况下获取过程的每一条语句?

【问题讨论】:

【参考方案1】:

当您拥有存储过程的文本时,您可以使用TransactSql ScriptDom 对其执行完整解析。如果您只想获取每个语句,则可以使用此方法执行此操作。

但是,我不相信它实际上会比使用您现在使用的方法更好。这只是另一种尝试。

编辑 -> ScriptDom 是SQL Server 2012 Feature Pack 的一部分,包含在“SqlDom.msi”安装中。

【讨论】:

非常感谢马特。我想尝试这个选项但是我找不到“Microsoft.SqlServer.TransactSql.ScriptDom.dll”?它不会出现在谷歌搜索中。在哪里可以下载?

以上是关于SQL Server 获取解析的查询的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server CE 中解析查询时出错

调整查询以解析 SQL Server 2014 上的 XML 数据

s-s-rS:解析来自具有 XML 列的 SQL Server 查询的结果

选择查询以从 SQL Server 获取数据

sql server 2000查询分析器 指定数据库

进行查找并编写查询以从 sql server 获取数据