У меня есть 2 сервера (скажем, ServerA
и ServerB
). Я настроил каждый из них как связанный сервер с другим. ServerA
работает под управлением SQL Server 2008 R2 (версия 10.50.2500), а ServerB
- это SQL Server 2005 (версия 9.0.4035).
На обоих серверах были созданы идентичные логины, и им предоставлено dbowner
для баз данных, на которые я хочу установить связь. Я не собираюсь использовать какую-либо распределенную обработку, это просто для того, чтобы в конце дня данные могли быть обновлены с одного сервера на другой.
Связанный сервер от ServerA
до ServerB
работает нормально и подключается. К сожалению, ссылка с ServerB
на ServerA
не выполняется, и время ожидания истекает со следующим сообщением.
Сетевые интерфейсы SQL: ошибка при поиске указанного сервера / экземпляра.
Поставщик OLE DB «SQLNCLI» для связанного сервера «0.0.0.0 \ serverA» вернул сообщение «Время ожидания входа истекло»
(IP-адрес был удален, но является действительным и правильным)
Я проверил серверы, на обоих включены TCP и именованные каналы, и настроены на удаленные подключения. Поскольку соединение работает в одном направлении, я предполагаю, что брандмауэры не являются проблемой (это правильное предположение ?! Сетевое взаимодействие - не моя сильная сторона)
Очевидно, что мы должны иметь возможность делать все, что нам нужно, только с односторонним соединением, но логически я бы предпочел, чтобы у нас было и то и другое, чтобы каждый извлекал данные, которые ему нужны, а не один сервер, отвечающий за передачу и извлечение. данные вокруг.
РЕДАКТИРОВАТЬ: ServerA находится за маршрутизатором и время ожидания при попытке ping или telnet к нему. Я добавил ServerA на маршрутизатор, чтобы получать все запросы на порт 1433 (переадресация портов, надеюсь, это правильный путь), и теперь, когда я пытаюсь подключиться по telnet от ServerB к ServerA, он зависает на Connecting to 0.0.0.0...
, прежде чем сказать Connection to host lost
.