если имеется много циклов и / или IF / ELSE, добавьте множество «PRINT 'Loop / IF X.Y'», где X - уникальное имя / номер цикла / IF по вашему выбору, а Y - уникальное местоположение в этот цикл / IF. Затем запустите процедуру из студии управления. Это даст вам быстрое представление о ходе выполнения процедуры.
Вы можете расширить эту идею и выводить локальные переменные и их значения, количество строк и т. Д. В различных местах процедуры, чтобы понять, что происходит.
если вы не уверены, как запустить его вручную, потому что не знаете, какие параметры использовать, запишите параметры. В первой строке процедуры вставьте в таблицу журнала:
INSERT INTO YourLogTable
VALUES ('EXEC YourProcedureName @Param1='+COALESCE(''''+convert(varchar,@Param1)+'''','NULL')+', @Param2='+COALESCE(''''+convert(varchar,@Param2)+'''','NULL'))
затем вы можете запустить приложение, чтобы запустить эту процедуру, а затем вырезать / вставить из журнала и вручную запустить эту процедуру.