Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
Здравствуйте, возникла такая проблема:

Входные данные:
1) Есть сервер cо SUSE LINUX на борту, на котором установлен оракл
2) Есть сервер с Win 2003, на котором установлен MSSQL SERVER 2000

Необходимо соединиться с базой MSSQL SERVER 2000 из оракла, используя ODBC.
Собственно сложность заключается в том, что майкрософтовский сервер пропускает только win-аутентификацию, а MSSQL сервер использует NPC для соединения, хотя в настройках MSSQL сервера выставлено использование как TCP,так и NPC.
Соединение по TCP почему-то не работает, хотя настройки утверждают, что сервер должен слушать порт 1433. Команда Telnet host 1433 тоже не проходит.
Ну и вопрос: как из под линукса соединяться с MSSQL сервером? Возможно ли использовать NPC? Или как правильно настроить сервер, чтобы он мог слушать TCP порт?
С MSSQL сервером никогда не работал, тонкостей не знаю.
2 авг 16, 05:47    [19484548]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
komrad
Member

Откуда:
Сообщений: 5735
самсам123,

посмотрите на винде :
netstat -a | find "143"
netstat -a | find "LISTEN"


по умолчанию должны увидеть TCP 1433 & UDP 1434

сиквел поддерживает как windows-only, так и mixed аутентификацию

в режиме mixed, можно использовать sql логин и пароль, заведенный и хранимый на сиквеле

https://support.microsoft.com/en-us/kb/269587
2 авг 16, 11:06    [19485491]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
komrad, спасибо за ответ. Выполнил команды, получил такой результат:

>netstat -a | find "143"

--пусто

>netstat -a | find "LISTEN"
TCP server:epmap server:0 LISTENING
TCP server:microsoft-ds server:0 LISTENING
TCP server:475 server:0 LISTENING
TCP server:1025 server:0 LISTENING
TCP server:pptp server:0 LISTENING
TCP server:3389 server:0 LISTENING
TCP server:9876 server:0 LISTENING
TCP server:netbios-ssn server:0 LISTENING
TCP server:1030 server:0 LISTENING
TCP server:1550 server:0 LISTENING
TCP server:1551 server:0 LISTENING
TCP server:30523 server:0 LISTENING



Я так понимаю, что эти порты почему-то вообще не слушаются. В SQL server network utility в списке Enabled Protocols отображены NPC и TCP. В свойствах TCP стоит порт по умолчанию 1433.

В SQL server property на вкладке Security выбрана аутентификация SQL Server и Windows.
3 авг 16, 04:55    [19490604]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
О том, какие порты слушает сервер, он сообщает при старте в логе.
3 авг 16, 10:56    [19491451]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
Гавриленко Сергей Алексеевич,

В логе просто написано, что сервер стартует, стартуют базы на сервере, и сервер готов к подключению клиентов. Упоминания порта я там, к сожалению, не нашел.
3 авг 16, 11:32    [19491787]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
Гавриленко Сергей Алексеевич,

точнее стартует и слушает только "SQL server listening on Shared Memory, Named Pipes."
3 авг 16, 11:39    [19491850]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
самсам123
слушает только "SQL server listening on Shared Memory, Named Pipes."
Ну вот.
самсам123
В SQL server network utility в списке Enabled Protocols отображены NPC и TCP. В свойствах TCP стоит порт по умолчанию 1433.
Значит, не там смотрите, не на том компе, не для того сервера...
3 авг 16, 11:42    [19491887]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
alexeyvg
самсам123
слушает только "SQL server listening on Shared Memory, Named Pipes."
Ну вот.
самсам123
В SQL server network utility в списке Enabled Protocols отображены NPC и TCP. В свойствах TCP стоит порт по умолчанию 1433.
Значит, не там смотрите, не на том компе, не для того сервера...


Теперь я запутался. У меня есть ОС, на нем единственный MSSQL сервер. Я захожу в свойства этого сервера, открываю Network Utility и вижу, что в списке Enabled Protocols отображены NPC и TCP. Порт TCP - 1433. Дальше, иду в логи этого же самого сервера, читаю последний запуск, где и вижу строку "SQL server listening on Shared Memory, Named Pipes." Почему не запускается TCP? Или я что-то не так делаю?
3 авг 16, 11:55    [19491997]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
самсам123
У меня есть ОС, на нем единственный MSSQL сервер. Я захожу в свойства этого сервера, открываю Network Utility
Это где там "в сервере" меню "свойства"?
Вы логинитесь на компьютере, на котором сервер, и запускаете SQL Server Configuration Manager?
Там выбираете SQL Server Network Configuration, нужной разрядности?
И дальше Protocols for <нужное имя инстанса>?

Тут нужно быть точнее в терминах, не надо своими словами.
3 авг 16, 12:24    [19492281]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
alexeyvg,
1. Логинюсь на машине с WIN 2003
2. Пуск -> Control Panel -> Administrative Tools -> Computer Management -> Services and Applications -> Microsoft SQL Servers
3. Жму правой кнопкой мыши на моем MS SQL сервере, выбираю "Properties"
4. Выбираю "Network Configuration..."
5. На вкладке General смотрю в Enabled Protocols и вижу список, который состоит из Named Pipes и TCP/IP
6. Выбираю TCP/IP, нажимаю "properties" и вижу Default Port:1433

Лог смотрю там же (Пуск -> Control Panel -> Administrative Tools -> Computer Management -> Services and Applications -> Microsoft SQL Servers->myserver->Management->SQL server LOGs)
3 авг 16, 12:42    [19492442]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
alexeyvg,

ну и имя инстанса в списке соответсвенно только одно.
3 авг 16, 12:45    [19492464]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Показывате лог вашего сервера.
3 авг 16, 12:48    [19492482]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
самсам123
2. Пуск -> Control Panel -> Administrative Tools -> Computer Management -> Services and Applications -> Microsoft SQL Servers
3. Жму правой кнопкой мыши на моем MS SQL сервере, выбираю "Properties"
4. Выбираю "Network Configuration..."
Я бы посмотрел в SQL Server Configuration Manager.
3 авг 16, 12:49    [19492485]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
Гавриленко Сергей Алексеевич,

2016-08-03 13:10:44.92 server Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

2016-08-03 13:10:44.92 server Copyright (C) 1988-2000 Microsoft Corporation.
2016-08-03 13:10:44.92 server All rights reserved.
2016-08-03 13:10:44.92 server Server Process ID is 1768.
2016-08-03 13:10:44.92 server Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL\log\ERRORLOG'.
2016-08-03 13:10:44.95 server SQL Server is starting at priority class 'normal'(8 CPUs detected).
2016-08-03 13:10:45.06 server SQL Server configured for thread mode processing.
2016-08-03 13:10:45.06 server Using dynamic lock allocation. [2500] Lock Blocks, [5000] Lock Owner Blocks.
2016-08-03 13:10:45.53 server Attempting to initialize Distributed Transaction Coordinator.
2016-08-03 13:10:48.00 spid3 Starting up database 'master'.
2016-08-03 13:10:49.81 spid3 0 transactions rolled back in database 'master' (1).
2016-08-03 13:10:49.81 spid3 Recovery is checkpointing database 'master' (1)
2016-08-03 13:10:51.01 server Using 'SSNETLIB.DLL' version '8.0.194'.
2016-08-03 13:10:51.01 spid5 Starting up database 'model'.
2016-08-03 13:10:51.14 spid3 Server name is 'MSSERVER'.
2016-08-03 13:10:51.54 spid26 Starting up database 'Learning'.
2016-08-03 13:10:51.73 server SQL server listening on Shared Memory, Named Pipes.
2016-08-03 13:10:51.73 server SQL Server is ready for client connections
3 авг 16, 12:56    [19492539]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
самсам123,

Вообще-то, для корректной работы на Windows 2003 для SQL Server 2000 требуется минимум SP3. А у вас RTM:
самсам123
Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
3 авг 16, 12:59    [19492564]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
https://support.microsoft.com/en-us/kb/884012
3 авг 16, 13:16    [19492710]     Ответить | Цитировать Сообщить модератору
 Re: Соединение с базой MSSQL SERVER 2000 из под линукса  [new]
самсам123
Guest
invm,

спасибо за ответ, всё ясно.
4 авг 16, 04:06    [19496114]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить