Вы используете ASP.NET? .NET повторно использует соединения SQL с пулом соединений . Реальный вопрос, сколько подключений открыто напрямую:
select COUNT(*)
from master.dbo.sysprocesses p
join master.dbo.sysdatabases d on p.dbID = d.dbID
where d.name = '<database>'
Вы можете назвать это утверждение из своего DAL, но я думаю, что это не обязательно. Зачем? У меня есть опыт работы с MSSQL 2000. Он стабилен с гончими открытых соединений.
Если ваши веб-сервисы не имеют состояния (и я думаю, что это обычная и хорошая модель), вы можете избежать этой проблемы с подключением.
С statefull (я имею в виду, что есть постоянное открытое соединение), услуги трудно планировать, и я думаю, что вы должны пересмотреть свой дизайн.