У меня возникла странная проблема, когда я пытаюсь подключиться к SQL Server 2008, работающему на втором компьютере (на обеих машинах с 64-разрядной версией Win7), либо через источники данных в Visual Studio, либо через саму консоль управления SQL.
При первой попытке подключения время ожидания истекло. Вторая попытка работает нормально.
Я могу получить доступ к общим ресурсам на втором компьютере без каких-либо затруднений, просто я впервые пытаюсь подключиться к SQL для каждого экземпляра приложения. То есть, если я открою два экземпляра Visual Studio, оба не удастся при первой попытке подключения, но удастся со второй. Я должен подключиться дважды для каждого экземпляра (независимо от последовательности сбоя / успеха в любом другом приложении).
Я надеюсь, что в этом есть смысл.
Любой совет?
источник
Ответы:
Я думаю, что нашел решение, по крайней мере, в моем случае это работает. Я использую имя экземпляра, и это автоматически подразумевает динамический порт для службы сервера SQL. Я изменил настройки с динамического на фиксированный порт, а затем открыл брандмауэр на этом порту.
Диспетчер конфигурации SQL Server -> Конфигурация сети SQL Server -> Протоколы для 'InstanceName' -> TCP / IP -> Свойства -> IP-адреса -> IP All ->
Здесь вы видите два варианта:
Сценарий, используемый для облегчения вашей задачи по открытию портов, которые я скачал с MS, и я воспроизвожу его здесь (комментарии на немецком языке, но они должны быть очевидны):
источник
Мое лучшее предположение здесь, что у вас включен AUTO_CLOSE для базы данных. Это означает, что база данных должна раскручиваться при подключении, что является причиной начального тайм-аута.
Второе предположение, что это может быть связано с разрешением имени хоста. Таким образом, это занимает слишком много времени для разрешения имени хоста в первый раз (возможно, путем широковещательной рассылки?), Но затем кэшируется при последующих попытках подключения. Что вы используете для разрешения хоста? это в DNS? Попробуйте изменить строку подключения на IP, формат порта. т.е. 192.168.100.100,1433
Вы также можете попробовать запустить
ipconfig /flushdns
после успешной попытки подключения и посмотреть, получите ли вы то же поведение. Хитрый обходной путь - поместить поиск в ваш файл HOSTS, но вы должны исправить это правильно.источник
По ощущениям как длинный выстрел в темноте с завязанными глазами, но это может помочь. На форумах Microsoft SQL Developer есть старая ветка, описывающая ту же проблему, а также возможные исправления. Его сервер работает под управлением Windows Server 2008, но может также иметь отношение к вашей настройке Win7.
Нить:
http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/58bd9c4d-0572-4567-8e32-82a7fd600022
Из темы:
Вы можете посмотреть в Microsoft KB 935834 информацию об изменении настроек подписи LDAP (не могу связать его, так как я новый пользователь).
Надеюсь, поможет!
источник
Отключить брандмауэр. Тестовая сеть (пинг). Обнаружение сетевого трафика на сервере sql (используйте wireshark )
источник
Можете ли вы попробовать запустить SQL Profiler перед первым соединением с VS или SSMS и посмотреть, что происходит на SQL Server?
Кроме того, вы проверили журналы событий, чтобы увидеть, регистрируется ли что-нибудь?
источник