Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 удаленное подключение к базе на SQL express 2008  [new]
VyacheslavB
Member

Откуда:
Сообщений: 4
обычный компьютер, находится в сети, домена нет, стоит sqlexpress 2008, аутентификация смешанная.

создал базу, из программы подключаюсь к ней со следующей строкой:

Provider=SQLOLEDB.1;Password=1;Integrated Security=SSPI;Persist Security Info=False;User ID=BAZA;Initial Catalog=BD;Data Source=127.0.0.1\SQLEXPRESS,65000;
при этом из строки можно удалить имя пользователя и пароль, соединение в любом случае происходит успешно.

меняю строку соединения на следующую:
Provider=SQLOLEDB.1;Password=1;Integrated Security=SSPI;Persist Security Info=False;User ID=BAZA;Initial Catalog=BD;Data Source=1.1.1.1\SQLEXPRESS,65000;
где 1.1.1.1 - внешний IP адрес маршрутизатора, на нем прописано правило переадресации пакетов на нужный компьютер и порт в локальную сеть.

в итоге с базой не соединиться, в логе sqlexpress появляются следующие строки:

2015-07-22 18:35:49.81 Вход Ошибка: 17806, серьезность: 20, состояние: 2.
2015-07-22 18:35:49.81 Вход SSPI handshake failed with error code 0x8009030c while establishing a connection with integrated security; the connection has been closed. [КЛИЕНТ: 192.168.0.1]
2015-07-22 18:35:49.81 Вход Ошибка: 18452, серьезность: 14, состояние: 1.
2015-07-22 18:35:49.81 Вход Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. [КЛИЕНТ: 192.168.0.1]

192.168.0.1 - внутренний адрес маршрутизатора

создание пользователя windows специально для соединения с sqlexpress и замена имени пользователя и пароля в строке соединения на имя пользователя и пароль учетной записи windows проблему не решило.

Я так понимаю (судя по наличию записей в логе sqlexpress), что через внешний ip-адрес пакеты все-таки до сервера доходят, но авторизоваться с другого (отличного от локального) адреса невозможно.

Может есть мысли как это победить?
23 июл 15, 14:53    [17925791]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
komrad
Member

Откуда:
Сообщений: 5735
VyacheslavB
Может есть мысли как это победить?


создать сиквельную учетку и использовать её
23 июл 15, 15:15    [17925940]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
VyacheslavB
Member

Откуда:
Сообщений: 4
komrad
VyacheslavB
Может есть мысли как это победить?


создать сиквельную учетку и использовать её



учетка есть: имя BAZA, пароль 1.

Через Management Studio соединение через внешний IP проходит с этой учетной записью
23 июл 15, 15:24    [17925998]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
komrad
Member

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

это проверяли?
https://social.msdn.microsoft.com/forums/sqlserver/en-US/c230ad40-cca4-4ebf-97cb-3866e7ef0f97/using-integrated-authentication-without-a-domain
23 июл 15, 15:34    [17926072]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
VyacheslavB
учетка есть: имя BAZA, пароль 1.

А Integrated Security=SSPI зачем тогда задано в строке ?
23 июл 15, 15:50    [17926184]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
o-o
Guest
VyacheslavB
Provider=SQLOLEDB.1;Password=1;Integrated Security=SSPI;Persist Security Info=False;User ID=BAZA;Initial Catalog=BD;Data Source=127.0.0.1\SQLEXPRESS,65000;

вы намешали сюда обе авторизации,
Integrated Security=SSPI это же Trusted connection,
конечно можно после этого никаких юзеров не указывать, виндовая авторизация.
убирайте это Integrated Security=SSPI
равно как и зачем имя экземпляра, если порт указываете,
хотя это уже не к авторизации, а к "напишу всего и побольше"
23 июл 15, 16:18    [17926387]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
VyacheslavB
Member

Откуда:
Сообщений: 4
Glory
VyacheslavB
учетка есть: имя BAZA, пароль 1.

А Integrated Security=SSPI зачем тогда задано в строке ?


С П А С И Б О !!!

Убрал целиком параметр Integrated Security, а Persist Security Info поменял на True
заработала строка подключения:
Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=BAZA;Initial Catalog=BD;Data Source=1.1.1.1\SQLEXPRESS,65000;

Вот оно, "Одна голова - хорошо, а много - лучше!!!"
23 июл 15, 16:21    [17926414]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
o-o
Guest
теперь еще в 1.1.1.1\SQLEXPRESS,65000; замените SQLEXPRESS на vasja_pupkin
т.е. вот такое напишите: 1.1.1.1\vasja_pupkin,65000
и убедитесь, что тоже сработает
23 июл 15, 16:27    [17926455]     Ответить | Цитировать Сообщить модератору
 Re: удаленное подключение к базе на SQL express 2008  [new]
VyacheslavB
Member

Откуда:
Сообщений: 4
o-o
теперь еще в 1.1.1.1\SQLEXPRESS,65000; замените SQLEXPRESS на vasja_pupkin
т.е. вот такое напишите: 1.1.1.1\vasja_pupkin,65000
и убедитесь, что тоже сработает



Я понял, оставил только IP-адрес и порт, \SQLEXPRESS убрал.

СПАСИБО огромное за помощь!!! и дельные советы!
23 июл 15, 16:42    [17926579]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить