Ответ 1
Похоже, что это объединение пулов.
Отсюда: http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
Пул соединений создается для каждой уникальной строки соединения. Когда создается пул, создаются и добавляются несколько объектов соединения пул, чтобы удовлетворить минимальные требования к размеру пула. Соединения добавляются в пул по мере необходимости, вплоть до максимального пула размер указан (100 по умолчанию). Соединения отбрасываются обратно в бассейн, когда они закрыты или расположены.
Чтобы убедиться, что вы не создаете ненужные пулы, убедитесь, что всякая строка соединения используется при каждом подключении - сохраните ее в файле .config.
Вы также можете уменьшить максимальный размер пула, если хотите.
Собственно, я бы рекомендовал просто прочитать всю статью, связанную с выше. Он говорит об очистке пулов и дает вам рекомендации по правильному использованию пула.
Изменить - добавлено на следующий день
Пулы на вашем сервере существуют из-за того, как работает пул соединений. По документации, связанной выше:
Пул соединений удаляет соединение из пула после того, как он долгое время простаивали, или если пул обнаруживает, что соединение с сервером было отключено. Обратите внимание, что отрезанный соединение может быть обнаружено только после попытки связаться с сервер. Если обнаружено соединение, которое больше не связано с сервер, он помечен как недействительный. Недействительные соединения удаляются из пула соединений только тогда, когда они закрыты или возвращены.
Это означает, что сам сервер очистит эти пулы в конце концов, если они останутся неиспользованными. Если они НЕ очищены, то это означает, что сервер считает, что соединения все еще используются, и подвешивает их к повышению производительности.
Другими словами, я бы не стал беспокоиться об этом, если вы не видите проблему. Пул соединений происходит точно так, как должно быть.
Если вы действительно хотите очистить пулы, опять же, за документацию:
Очистка пула
ADO.NET 2.0 представил два новых метода: очистите пул: ClearAllPools и ClearPool. ClearAllPools очищает пулы соединений для данного поставщика, а ClearPool очищает пул соединений, связанный с определенным соединением. Если есть соединения, используемые во время вызова, они обозначен соответствующим образом. Когда они закрыты, вместо этого они отбрасываются возврата в пул.
Однако, если вы хотите настроить объединение, строка Connection может быть изменена. См. Эту страницу и найдите слово "пул":
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
Или вы можете заручиться администратором базы данных, чтобы помочь и установить объединение на уровне сервера. Это вне темы здесь, но ServerFault.com может заставить людей помочь там.