Пул соединений - это механизм для повторного использования соединений, так как установка нового соединения медленная.
Если вы используете строку подключения MSSQL и System.Data.SqlClient, значит, вы уже используете ее - в .Net это скрыто большую часть времени.
Цикл из 30 000 итераций может быть лучше в качестве курсора на стороне сервера (ищите операторы курсора T-SQL), в зависимости от того, что вы делаете с каждым шагом вне sproc.
Длинные запросы - это нормально, но будьте осторожны, вызывая их с веб-страниц, так как Asp.Net действительно не оптимизирован для длительного ожидания, и некоторые соединения прервутся.