Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > сервера в сети не видят друг друга


Автор: skyboy 29.8.2007, 09:08
на двух компьютерах, объединенных в сеть, стоят сервера MSSQL 2000. Экземпляры именованные, Comp1\First и Comp2\Second. Друг друга не видят ни при попытке настройки репликации, ни при попытке добавить компьютер в Enterprise Manager. 
Конечно, может быть ситуация, что проблема в логине/пароле. Потому на обоих серверах(MSSQL, а не Windows имеется в виду) есть юзер sa с паролем "111".
Сеть настроена правильно, ибо компьютеры друг друга пингуют(ping), а вот odbcping не проходит. при подключении выбираю авторизацию средствами SQL Server.
Протоколы в настройках сети и named pipes, и ТСР включены. порты TCP одинаковы(1433).
Куда копать? Как диагностировать эту ситуацию?
[Добавлено для нелюбителей много читать]
Решение:
1. проверить версия сервера и, если версия ниже SP4, установить означенный service pack
2. на sql.ru есть статья - http://www.sql.ru/articles/mssql/2005/013001TtroubleshootingConnectivitySQLServer2000.shtml
на всякий случай, дополнительно акцентирую: именованные экземпляры обычно(по умолчанию) используют динамическое выделение портов. так что на указанном в настройках порту(у меня было 1433, к примеру) без отключения динамического выделения портов сервера вполне может не оказаться smile 

Автор: kobra 29.8.2007, 12:12
может фаиервол? из сети (другие машины) SQL Server-а видны?
сетевые службы настроены правилно?

Автор: skyboy 29.8.2007, 12:30
Цитата(kobra @  29.8.2007,  11:12 Найти цитируемый пост)
может фаиервол?

черт. забыл сказать. outpost firwall стоит, но отключенный/включенный - результат один.
Цитата(kobra @  29.8.2007,  11:12 Найти цитируемый пост)
из сети (другие машины) SQL Server-а видны?

это и есть - сеть: два компа smile
впрочем, подключал третий комп - та же история. не видят друг друга.
сейчас повторить не могу почему-то, но одно время было видно SQL Server 2005 XE, установленный в неименованный дефолтно сконфигурированный экземпляр. сейчас не знаю - снес его. а он(2005) - никого не видел. впрочем, не знаю - может, это ограничение ХЕ - версии...
Цитата(kobra @  29.8.2007,  11:12 Найти цитируемый пост)
сетевые службы настроены правилно?

оба сервера запущены с учетной записью не localSystem(если это имеется в виду), а под учетной записью администратора - права на доступ к сети должно быть!

Автор: SergeBS 29.8.2007, 15:41
skyboy, 
Цитата
а вот odbcping не проходит.

А зачем это надо?
1. Делаешь udl-файл подключения и убеждаешься, что с одного компа виден сервер другого. Если не виден - значит что-то у тебя совсем не так. Т.е. не сервера друг друга не видят, а просто не видны в сети. У меня такого не было. Что в сети комп-сервер с клиента вообще не виден, а вот SQL-сервер этого компа для клиента "как родной" - такое завсегда пожалуйста. Если виден, то
2. Enterprise manager - SQL Server group. На нем правый клик мышкой и выбор - New SQL server registration. На любой машине увидишь оставшийся соседом сервер.
Вот я сейчас вижу у себя 3 smile.

Да, на всякий случай: в EM Tools - Options посмотри. И еще в EM: сервер(имя + ОС) - правый клик - свойства - connections - remote server connections - галка Allow other SQL servers to connect ... Иначе его не увидишь (IMHO smile ). И запуск службы RPC проверь.

Автор: skyboy 30.8.2007, 10:04
Цитата(SergeBS @  29.8.2007,  14:41 Найти цитируемый пост)
А зачем это надо?

хотел добиться реакции серверов "любыми средствами" smile
Цитата(SergeBS @  29.8.2007,  14:41 Найти цитируемый пост)
убеждаешься, что с одного компа виден сервер другого. Если не виден - значит что-то у тебя совсем не так.

благодаря наводке на udl выяснил, что, как минимум, одна проблема в наличии: на одной из сторон стояла авторизация "Windows only". Естественно, пользователя SQL Server'a sa не "пускали". Сейчас запущу второй комп и разберусь с другой стороной соединения.
Спасибо большое за наводку.
Цитата(SergeBS @  29.8.2007,  14:41 Найти цитируемый пост)
 EM Tools - Options посмотри. И еще в EM: сервер(имя + ОС) - правый клик - свойства - connections - remote server connections - галка Allow other SQL servers to connec

стоит.
Цитата(SergeBS @  29.8.2007,  14:41 Найти цитируемый пост)
 И запуск службы RPC проверь.

запущена.(шепотом) а может такое быть, чтоюб эта служба незапущена была?  smile 

Автор: skyboy 30.8.2007, 12:46
Не видят("сервер недоступен"). службы RPC запущены, доступ удаленно в "Connections"  разрешен. Пароль верный. Авторизация - средствами Windows + SQL Server. Файрволл отключал. Что ещё можно попробовать?
зы На другом компьютере при создании udl-файла не могу найти провайдер Microsoft OLE DB provider for SQL Server. Как установить(когда устанавливал сервер, ничего не отключал... думал, что должен быть такой, а нету... А на другой компьютере есть...)?

Автор: SergeBS 31.8.2007, 07:53
skyboy, 
Цитата
запущена.(шепотом) а может такое быть, чтоюб эта служба незапущена была?

Ну если у тебя 1 комп дома - зачем нужна эта служба? Для троянщиков разве smile.

Цитата
Как установить(когда устанавливал сервер, ничего не отключал... думал, что должен быть такой, а нету... А на другой компьютере есть...)? 

Честно скажу - не было у меня такого. Так что рецепта не знаю. Попробуй запустить установку сервера - там наверняка что-нибудь будет. По крайней мере в BOL обещают: 
Цитата

How to install SQL Server (Setup)
If you chose a custom installation: 
Select components to install. 
Select a character set, sort order, and Unicode collation. 
Select the network libraries to configure. 
 
В понедельник (если не забуду) притащу из дома шпаргалку на тему "Проблемы при установке MS SQL". Может там тоже что есть... 

А вообще можешь попробовать сервак снести и установить заново - быстрее будет, чем репу чесать где не склалось.


Автор: skyboy 31.8.2007, 08:59
Цитата(SergeBS @  31.8.2007,  06:53 Найти цитируемый пост)
А вообще можешь попробовать сервак снести и установить заново - быстрее будет, чем репу чесать где не склалось.

на тестовом компе-то могу. но у меня глобальная задача: реализовать репликацию на уже работающем сервере(который выключить не рекомендуется, потому его-то переустановить не дадут) - так что все проблемы, которые я проигнорирую на тестовой связке, выльются потом в невозможность выполнить основную задачу :(
Опережая вопрос: да, "реально нужный" сервер тоже не видит остальных "братьев", при том, что компьютеры находятся в одной сети.
PS Чувствую, проблема решается легко и непринужденно. Просто я что-то где-то пропустил smile
Цитата(SergeBS @  31.8.2007,  06:53 Найти цитируемый пост)
 притащу из дома шпаргалку на тему "Проблемы при установке MS SQL". Может там тоже что есть... 

Отлично! Спасибо! Вполне может быть.

Автор: SergeBS 31.8.2007, 10:27
skyboy, 
Давай уточним: из твоей кучи серверов хоть один "соседа" видит? И что видно из udl-ки? 

Автор: skyboy 31.8.2007, 13:09
куча - три сервера. все три видят(видели) только именованный экземпляр SQLExpress2005(на одном из трех установленный). И себя. И все :(
Вопрос в тему: при настройке типов соединений(SQL Server network utility) наличие в списк "Enabled" и именованных каналов(named pipes) и ТСР/IP не может ли привести к конфликту? Ну, т.е. на одном сервера при вкелюченных обоих вариантах будет работать только первый, а на втором - только второй способ подключения? Или если в "Enabled" есть и TCP/IP, и named pipes, то использоваться будут оба метода доступа? 
А то я тут подумал только что, что из всего набора серверов, у меня только SQL Express 2005 был установлен по умолчанию. А остальные сервера - именованные... Ясен пень, что это влияет на необходимость задания имен для named pipes, но ведьт TCP/IP тоже включен! И на одинаковый номер порта...

Добавлено через 24 секунды
из udl'ки видно, что сервера не видно :(

Добавлено через 43 секунды
Цитата(SergeBS @  31.8.2007,  09:27 Найти цитируемый пост)
И что видно из udl-ки? 

что конкретно интересует? 

Автор: SergeBS 31.8.2007, 15:02
skyboy, 
Цитата
из udl'ки видно, что сервера не видно :(

Ни одного? Или никого кроме того, что на этой же машине?

Да, есть такой http://www.sql.ru - пошарь там, есть FAQ по MS SQL, форум. Тут же в основном дельфятники тусуются.

Автор: SergeBS 31.8.2007, 15:31
skyboy, 
Цитата

Вопрос в тему: при настройке типов соединений(SQL Server network utility) наличие в списк "Enabled" и именованных каналов(named pipes) и ТСР/IP не может ли привести к конфликту? Ну, т.е. на одном сервера при вкелюченных обоих вариантах будет работать только первый, а на втором - только второй способ подключения?

Нет. Сколько протоколов есть в разрешенных у сервера, по стольким и может работать. Даже одновременно.
Да, я тут полез в "сетевой клиент SQL server". Будешь смеяться, но у меня ВСЕ протоколы - в списке отключенных. Сейчас чешу репу - что бы это такое означало? 
А вот в server network utility - General - 3 протокола, Network Libraries - все 6 либ. Поэтому сервер и виден. При этом по ADO клиент работает. И udl-ка видит все 3 сервера (поставщик Microsoft OLE DB provider for MS SQL server).

Добавлено через 6 минут и 21 секунду
Вдогонку: в BOL есть в Troubleshoting кое-что про установку - ее проблемы.

Автор: skyboy 31.8.2007, 17:50
Цитата(SergeBS @  31.8.2007,  14:31 Найти цитируемый пост)
Вдогонку: в BOL есть в Troubleshoting кое-что про установку - ее проблемы.

ага. http://www.sql.ru/articles/mssql/2005/013001TtroubleshootingConnectivitySQLServer2000.shtml. читаю, перебираю в уме что я сделал, а что пропустил...

Добавлено через 49 секунд
пытался telnet'ить по порту, указанному в настройках. странно, но никто не отвечает :(

Автор: SergeBS 3.9.2007, 09:12
skyboy, 
Из BOL:
Цитата
How to enumerate OLE DB data sources (OLE DB)
To list the data sources visible to the SQLOLEDB enumerator, the consumer calls the ISourcesRowset::GetSourcesRowset method. This method returns a rowset of information about the currently visible data sources.  
Depending on the network library used, the appropriate domain is searched for the data sources.  For Named Pipes, it is the domain to which the client is logged on.

Т.е. если у тебя сервера в разных доменах, то через pipes их видно не будет.

А шпаргалка по установке у меня - как раз с SQL.RU сдернута.

Автор: skyboy 3.9.2007, 16:50
кстати, сервера не состоят в домене. они члены рабочей группы. возможно, это как-то влияет на доступ? 
доступ telnet на порт, указанный в настройках серверов, ничего не дает. т.е. доступ я не получаю. по всему выходит, что проблема в настройках сети.

Автор: skyboy 5.9.2007, 09:51
йо-хо-хо!
в SQL Server Logs наткнулся на строку:
Цитата

SQL server listening on Shared Memory, Named Pipes.

Т.е. о ТСР/IP речь не идет. Ищу причину такой нелюбви...

Автор: skyboy 5.9.2007, 13:34
вопрос решился установкой сервиспаков. как выяснилось(надо было раньше поинтересоваться!), у меня был SP2, подключения ТСР не осуществлялось(фиг знает, почему), после установки  SP4 ТСР нормально используется.
зы Откорректирую первое сообщение тоже, а то, получается, большинство сообщений в теме(моих) не понадобится тем, кто будет тему читать в поисказ решения smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)