【问题标题】:Programatically read SQL Server's trigger query plan以编程方式读取 SQL Server 触发器查询计划
【发布时间】:2015-12-11 14:25:58
【问题描述】:

我需要从 C# 中读取与 SQL 命令相关的所有查询计划。但是,触发器的查询计划不会在阅读器中返回。我正在使用这样的简单代码:

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = "SET SHOWPLAN_XML ON";
            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();

            // next method
            SqlCommand cmd = new SqlCommand(commandText, conn);
            cmd.CommandType = CommandType.Text;
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                AnalyzeQueryPlan(reader[0].ToString());
            }
            reader.Close();

但我错过了触发器的查询计划。如果我在 SSMS 中处理相同的查询,我可以看到它们。有没有办法在 C# 中读取触发器的查询计划?

【问题讨论】:

    标签: c# sql-server sql-execution-plan


    【解决方案1】:

    我无法对此进行测试,但假设您只需要使用 reader.NextResult() 前进到下一个结果,然后处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 2021-10-22
      • 2020-04-30
      • 1970-01-01
      • 2013-10-06
      相关资源
      最近更新 更多