Я подключаюсь к удаленному экземпляру сервера sql со следующей строкой подключения
"Сетевая библиотека = DBMSSOCN; Источник данных = xx.xxx.x.xxx, 1433; Начальный каталог = MyDatabase; Идентификатор пользователя = MyUserId; Пароль = MyPassword; Тайм-аут соединения = 120;"
- Sql Server Browser работает
- Локальные и удаленные подключения разрешены только с использованием TCP / IP
Приложению не удается подключиться, ссылаясь на следующее SqlException
Поставщик TCP, ошибка: 0 - Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить
Код для подключения следующим образом
using (SqlConnection connection = new SqlConnection(m_ConnectionString))
{
connection.Open(); // falls over here
}
Я думал о конфигурации брандмауэра на порту 1433, но почему брандмауэр иногда разрешает соединения, а иногда нет?
Требуется ли запуск Sql Server Agent? И если так, то почему описание Sql Server Agent на MSDN не очевидно в этом отношении?
Спасибо!
РЕДАКТИРОВАТЬ: Попытка добавить явное правило на брандмауэре, чтобы открыть 1433 и пока все хорошо, но может быть случайность снова так трудно сказать, если я исправлю или нет