У клиента есть опасно открытый экземпляр SQL Server 2005. VB.NET 1.1 без проблем подключается к нему с другого сервера. Включение брандмауэра Windows с портом 1433, открытым для подсетей, кажется лишь временным решением.
БД вроде нормально, но через час начинает тормозить ... Как будто теряет соединения из своего пула. В конце концов, из приложения или других инструментов невозможно установить соединение.
Требует ли SQL Server открытия других портов?
Парень с Linux чешет затылок.
Запустите sp_who2, чтобы узнать, кто подключен и что они используют.
JR
Предполагая, что вы используете SQL Server со значениями по умолчанию, тогда 1433 должен быть единственным портом, который вам нужно открыть.
О части замедления - используйте мой Руководство по мониторингу Perfmon для сбора статистики о SQL Server. Отсюда мы можем определить, какая часть сервера является узким местом. Если хотите, соберите статистику, как показано в статье, в течение нескольких минут, пока сервер работает быстро, а затем еще раз, пока сервер работает медленно. Сбор этой статистики не влияет на производительность. Затем отправьте файлы мне на brento@brentozar.com, и я смогу довольно быстро определить, где находится узкое место.
SQL Server предоставляет возможность отслеживать открытые соединения в «SQL Server Management Studio». Я бы хотел убедиться, что соединения не открываются и не остаются открытыми из приложения. Поскольку, если приложение явно не закрывает соединение, оно может оставаться открытым до тех пор, пока сборщик мусора не решит окончательно очистить объект и освободить соединение обратно в пул.
Другой способ проверить, происходит ли это, - подождать, пока приложение больше не сможет подключиться. В этом состоянии, если перезапуск приложения решает эту проблему, вероятно, проблема связана с кодом приложения.
Когда соединения больше не возможны, можно ли подключиться локально на приставке? В таком случае попробуйте снова подключиться с помощью Management Studio, но вместо использования «Совместно используемой памяти» используйте «TCP / IP».
Если последнее не сработает, я бы действительно исследовал ситуацию с брандмауэром. Однако я бы не стал связывать настройку брандмауэра с «потерей связи со временем».