Я вызываю хранимую процедуру Get_Units из приложения С#. Он выполняется успешно, но я не вижу эту процедуру в профилировщике SQL (нужно видеть ее с событием RCP:Complited, потому что мне нужна статистика чтения/записи)
Код C# для выполнения хранимых процедур:
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();
}
Что показывает SQL Server Profiler (фильтры столбцов не применяются):
Спасибо за ваше время!
RPC:Completed
только в том случае, если оно фактически выдано как вызов RPC. Приведенный выше код не устанавливаетCommandType
вCommandType.StoredProcedure
, поэтому он будет отображаться только как обычный пакет SQL (SQL:BatchCompleted
). - person Jeroen Mostert   schedule 15.02.2019Batch:Completed
. RPC будет выдан, только если вы установите тип команды как хранимую процедуру или добавите параметры в команду. - person Dan Guzman   schedule 15.02.2019