Подскажите, пожалуйста, почему рекомендуется избегать динамического SQL?Есть ли способ, которым я могу продолжать использовать динамический SQL и избегать его плохих вещей?
http://www.sommarskog.se/dynamic_sql.html
Если вы не все понимаете в этом, вернитесь и задайте вопрос, но ни при каких обстоятельствах не следует использовать динамический SQl, пока вы не поймете эту статью.
Основная проблема - инъекция sql. Люди могут вводить данные, которые могут изменить цель вашего sql.
Одним из лучших решений является использование sp_executesql. http://msdn.microsoft.com/en-us/library/ms188001.aspx