Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как достучаться до MS SQL server  (Прочитано 23106 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« : 09-02-2004 12:58 » 

Трабл ...
Есть MSSQL8.0, есть гдето очень далеко доменный сервер ...
обращнение из клиентов идет под логинами самого сиквел севера отличными от логинов домена, когда вытетает контролер домена  
MSSQL8.0 перестает пускать ксебе вообще когобы то нибыло из вне ...
приэтом локально все работает ....

Такое очущение что при обращении под логином SQL, сервер всеравно ломится в домен и если у него не получатся связаться с доменным контолером запрещает доступ ....
Как обойти эту ситуацию чтобы достут к серверу был вне зависимости от доступности контролера домена?
Записан

Да да нет нет все остальное от лукавого.
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 09-02-2004 14:07 » 

может быть, когда вылетает контроллер, сам сервак становится недоступным? ты не проверял, он вообще пингуется?
Записан

Alf
Гость
« Ответ #2 : 09-02-2004 15:16 » 

Цитата: PSD
... Есть MSSQL8.0, есть гдето очень далеко доменный сервер ...
... Как обойти эту ситуацию чтобы достут к серверу был вне зависимости от доступности контролера домена?
Вообще-то ситуация, когда контроллер домена "где-то очень далеко", не вполне нормальна.
Я бы предложил 2 выхода:
1. Если авторизация клиентов производится средствами самого SQL-сервера, возможно, имеет смысл сделать его автономным, т.е. исключить из домена.
2. Если по каким-то не указанным здесь причинам включение SQL-сервера в домен все-таки оправдано, рекомендую установить резервный контроллер домена поблизости от сервера. Резервный контроллер получит реплику базы SAM и будет отвечать на запросы авторизации гораздо быстрее (причем это облегчит участь не только проблемного сервера, но и клиентов, у которых тоже наверняка возникают аналогичные трудности при недоступности контроллера домена).
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 10-02-2004 05:09 » 

Alf,
(1)Именно это я пытаюсь сделать, в том случае если выводиш севак из домена
Сиквел никого к себе не пускает говорит сервер не доступен или аскцес динайт ?!?!?
Я его и сейчас  ставил не вдомене и не могу к нему достучаться .... приэтом сам он великолепно цепляет как Линкед любой из сиквелов домена ?!?!?
И работая с самого сервера я без проблем портировал все базы ... трехуровневые клиен серверы тоже без проблем запустились и работают  а вот из вне подключится к сиквелу не получатся (тип аунтификации смешаная )


(2) не представляется возможным ... господа гибоны будудт против .... они санкцианировали прокладку к нам оптоволокна от ценрального роутера только чтоб не ставить резервный конролер ....(за безопасность борются идиоты)
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #4 : 10-02-2004 07:24 » 

PSD, у меня в работе постоянно два десятка серверов MS SQL (один из них V7, остальные - 2000). Все автономные, домен развернуть проблематично (потому как стоят в открытой сети, и не хотелось бы открывать на них NetBIOS). Ни на одном с подобными проблемами не сталкивался.
Правда, конфигурация у них довольно спартанская: только система, SQL и брандмауэр. А на проблемном сервере ничего такого экзотического не установлено, что могло бы повлиять на его работу? Кстати, какие протоколы используются для доступа?
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 10-02-2004 07:30 » 

Стоят TCP/ip и Multi
Специфического ничего нет ...
ситема и SQL даже брандмауера нет ... правда ситема NT server и w2000 адвансед сервер....

У меня есть подозрение что проблема вот вчем у нас такм даме существует и все пользователи это члены домена .... вот и засыпается NT атантификация при отсудствии КД  ...  блин хоть с дебагером лезь смотреть когда эта дрянь отбойник шлет .....
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #6 : 10-02-2004 08:03 » 

А как у клиентов прописан alias для этого сервера?
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 10-02-2004 08:08 » 

Ни как ... покрайней мере я этого не делал ...
А как надо?
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #8 : 10-02-2004 08:27 » 

Вполне возможно, что именно в этом и причина.
Подразумеваем, что на клиентской машине установлен клиент для MS SQL с комплектом утилит. Тогда жмем Пуск -> Microsoft SQL Server -> Client Network Utility.
Теперь смотрим: на странице "Общие" - проверяем, чтобы был включен протокол TCP/IP и желательно он стоял первым (быстрее соединимся). На всякий случай проверяем свойства - должен стоять порт 1433.
Далее переходим на вкладку "Псевдоним". Жмем "Добавить".
Вверху вводим псевдоним сервера (в дальнейшем по нему и будем устанавливать соединение).
Слева находится длинная колонка радиокнопок. Выбираем вторую - TCP/IP.
Справа на панели "Параметры подключения" заполняем "Имя сервера" (в нашем случае - IP-адрес или имя DNS), снимаем птицу "Динамически определить порт" (дополнительные накладные расходы) и явно пишем порт 1433, если не установился по умолчанию.
Теперь пробуем установить соединение с сервером (например, через Enterprise Manager или Query Analyzer).
Жду результатов.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 10-02-2004 10:24 » 

Опаньки ..... все заработало ........
а каже до этого все цеплялось и крутилось когда он в домене был?
У меня небыли прописаны алиенсы ... и вообще ничего прописано не было ..... небыло ни одного активного протокола ... все пусто и голо.

Вопрос: ставить клиентскую часть придется каждому Юзверю или можно как-то по другому произвести настройку?

Клиенты цепляются через ADODB.
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #10 : 10-02-2004 11:13 » 

Когда он был в домене, работал механизм связи по умолчанию - через именованные каналы (named pipes). Для управления доступом он использует систему безопасности NT. Поэтому изначально клиенты не могли подцепиться не потому, что их не авторизовал сервер - они просто не могли установить именованный канал.
Но SQL-сервер может работать и через TCP соединение по порту 1433. Главное - заставить клиента отказаться от именованного канала и перейти на TCP. Именно это мы и сделали, сконфигурировав alias. Теперь все запросы идут напрямую, минуя механизмы безопасности NT. Авторизацией занимается сам SQL по своему списку доступа.
Клиентскую часть следует поставить всем пользователям. Там при инсталляции есть вариант установки по минимуму - "Connectivity only". У меня их (пользователей) немного, поэтому настраиваю alias каждому вручную. Если их много, имеет смысл найти, где хранятся эти настройки (наверняка в реестре) и как-то автоматизировать процесс.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 10-02-2004 13:25 » 

Ты прав в реестре ключик

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client]
Там все есть ...
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #12 : 10-02-2004 13:38 » 

Теперь можешь смело выкидывать сервер из домена и делать его автономным. Увидишь, насколько быстрее будут открываться сеансы.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 11-02-2004 05:25 » 

Из домена боюсь не получися ГИБ  будет против ..... но вот то что теперь мне будет плевать на присутсвие ихнего конролера домена всети это приятно  Отлично
Записан

Да да нет нет все остальное от лукавого.
FoxVID
Гость
« Ответ #14 : 11-02-2004 08:36 » 

Цитата

ставить клиентскую часть придется каждому Юзверю или можно как-то по другому произвести настройку?

А зачем каждому клиентская часть? Клиентская часть нужна для программистов, администраторов БД и для прочих "крутых". Для простого пользователя (при использовании ADO) никакой клиентской части ставить не надо. Достаточно установить MDAC той же версии, что и на сервере и саму программу, затем настроить файл линка и все. Подробнее здесь
http://bcbsql.narod.ru/pub/ispado.htm
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 11-02-2004 11:14 » 

А как ентому АДО овяснить по какому протоколу цепляться?
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #16 : 11-02-2004 13:15 » 

Цитата: FoxVID
А зачем каждому клиентская часть? Клиентская часть нужна для программистов, администраторов БД и для прочих "крутых". Для простого пользователя (при использовании ADO) никакой клиентской части ставить не надо.

Надо, еще как надо. Для "крутых", как ты выражаешься, помимо клиентской части ставится еще и Toolkit, в который входит набор инструментов и библиотек для разработки программ. Похоже, ты именно это и принял за клиентскую часть.
Цитата
Достаточно установить MDAC той же версии, что и на сервере и саму программу, затем настроить файл линка и все. Подробнее здесь
http://bcbsql.narod.ru/pub/ispado.htm

Подобные примеры работают, как правило, в пределах рабочей группы, находящейся в одном сегменте сети. Тогда, безусловно, NetBIOS скроет от тебя все проблемы сетевого взаимодействия клиента с сервером. Как только попытаешься обратиться к серверу за пределами досягаемости NetBIOS (например, отделенному от твоей сети маршрутизатором и/или не входящему в твой домен или в домен, который поддерживает с твоим доверительные отношения), тут же получишь те же самые проблемы, которые имел PSD. А для корпоративного приложения удаленный сервер данных - типичнейшая ситуация. Так что эти примерчики только на бумаге такие гладкие, попробуй их повторить - убедишься сам.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #17 : 12-02-2004 05:15 » 

Alf, трабл продолжается .... пока сервак был на тестировании и в домен не входил проблем недыло .... все работало по писаному тобой . Вчера приехали ГИБоны завели W2k в домен ... моделировал ситуацию с отказом контролера домена(вырубил DSL модем чем отрезал наш сегмент от основной сети и перезагрузил сервак) и по лучил все теже Акцесдинайт.... что не так?

Алиенс у меня прописан ...
Записан

Да да нет нет все остальное от лукавого.
Alf
Гость
« Ответ #18 : 12-02-2004 07:21 » 

Попробуй выключить на SQL-сервере протокол Named Pipes, вполне возможно, что проблемы именно из-за него. Оставь только TCP/IP. Затем поставь Audit level сервера на All. Поглядим, что там при авторизации происходит.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines