Я бы добавил OPTION(RECOMPILE)
:
SET @SQL = @Pre + @Select + @SQL + @GroupBy
=>
SET @SQL = @Pre + @Select + @SQL + @GroupBy + ' OPTION(RECOMPILE)';
Я бы использовал это предложение для генерации плана выполнения и / или оценок мощности для динамического SQL каждый раз (это какой-то отчет, поэтому я предполагаю, чтонакладные расходы не должны быть слишком высокими). Дополнительная информация: OPTION (RECOMPILE) всегда быстрее;Почему?
Хорошая практика - заканчивать каждое утверждение точкой с запятой.