我需要获取给定 SQL Server 存储过程的每个语句。
为此,我生成执行计划 XML 并在查询中查找“StmtSimple”节点。
这种方法对于大型程序来说相当慢。
有什么方法可以在不生成 XML 执行计划的情况下获取过程的每一条语句?
我需要获取给定 SQL Server 存储过程的每个语句。
为此,我生成执行计划 XML 并在查询中查找“StmtSimple”节点。
这种方法对于大型程序来说相当慢。
有什么方法可以在不生成 XML 执行计划的情况下获取过程的每一条语句?
当您拥有存储过程的文本时,您可以使用TransactSql ScriptDom对其执行完整解析。如果您只想获取每个语句,则可以使用此方法执行此操作。
但是,我不相信它实际上会比使用您现在使用的方法更好。这只是另一种尝试。
编辑 -> ScriptDom 是SQL Server 2012 Feature Pack的一部分,包含在“SqlDom.msi”安装中。