我有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();
}
答案 0 :(得分:1)
我在SQL Profiler“存储过程-> SP:Complited”中添加了过滤器,现在可以看到我的过程了。谢谢你,达米安·非信徒!