尝试从SQL Server Profiler获取过程名称时,显示“ sp_reset_connection”

时间:2019-02-11 07:09:00

标签: c# sql-server stored-procedures sqlprofiler

我有C#应用程序,它执行数据库tored程序。我可以从这些过程中成功获得结果,但是SQL Server Profiler显示“ sp_reset_connection”而不是过程名称。我在SQL Server Profiler中将事件过滤器设置为“存储过程”。在我的栏中有“ ObjectName”和“ TextData”,当我从应用程序执行存储过程时,它们都显示“ sp_reset_connection”。

C#代码(变体代码等于“ exec dbo.sp_name_1”之类的smth):

public string ExecSpReturnTime(string connectionString, string code)
    {
        long execTime = 0;
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.StatisticsEnabled = true;
            connection.Open();
            using (SqlCommand command = new SqlCommand(code, connection))
            {
                command.ExecuteNonQuery();
            }
            var stats = connection.RetrieveStatistics();
            execTime = (long)stats["ExecutionTime"];
        }
        return execTime.ToString();
    }

1 个答案:

答案 0 :(得分:1)

我在SQL Profiler“存储过程-> SP:Complited”中添加了过滤器,现在可以看到我的过程了。谢谢你,达米安·非信徒!