За последние 24 часа нас посетили 21804 программиста и 1690 роботов. Сейчас ищут 1847 программистов ...

подключение к ms sql server на удалённом компьютере

Тема в разделе "PHP и базы данных", создана пользователем jah, 27 апр 2014.

  1. jah

    jah Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте!

    На локальном и удалённом компьютере в локальной сети установлена субд microsoft sql server, на каждом создано по базе данных.
    Соединение через sql server management studio происходит успешно с каждой из них (в поле server name указывается ip/имя компьютера с субд, например, для локального компьютера 127.0.0.1 или localhost, для удалённого компьютера - его ip или имя (dns поднята, поэтому по имени тоже можно обратиться)), используется windows authentication в обоих случаях.

    С локального компьютера, где установлен apache+php делаю соединение через sqlsrv_connect прямо по первому примеру с windows authentication
    http://php.ru/manual/function.sqlsrv-connect.html

    $serverName задаю ip/имя соответственно как это делал в sql server management studio.

    В результате, соединение с базой данных на локальном компьютере происходит успешно, а вот с базой данных на удалённом компьютере - нет.

    В чём может быть причина неуспешного соединения с sql server на удалённом компьтере?

    Спасибо!
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
  3. jah

    jah Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    5
    Симпатии:
    0
    не совсем понял, что предлагается сделать

    но если предлагается замена sqlsrv_connect на mssql_connect, то
    http://php.ru/manual/intro.mssql.html
    Добавлено спустя 20 минут 21 секунду:
    заметил, что при неудачном соединении осуществляется попытка авторизоваться с именем пользователя, в качестве которого почему-то используется имя компьютера
    возможно потому, что сервис apache как сервис не завязан на пользовательские данные (начинает работать ещё до загрузки каких бы то ни было профилей), sql server management studio же запускается в профиле пользователя и поэтому при коннекте берёт пользовательские данные, но почему тогда всё отлично срабатывает в случае с localhost и берутся нужные данные для windows authentication

    http://msdn.microsoft.com/en-us/library/ff628167.aspx
    c заданием UID и PWD также не получилось авторизоваться
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Давно не связывался с mssql, и очень рад, что оно и не светит.
    ну раз все выпилили за это время, то хз...
     
  5. jah

    jah Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    5
    Симпатии:
    0
    c sql server authentication всё получилось (http://php.ru/manual/function.sqlsrv-connect.html, пример2), для этого придётся сделать доступной (если ещё не доступна) учётную запись sa или создать дополнительного пользователя

    может всё-таки кто знает как справиться с windows authentication в sqlsrv для удалённого компьютера или это возможно только для localhost?
     
  6. Feonix89

    Feonix89 Новичок

    С нами с:
    30 май 2018
    Сообщения:
    113
    Симпатии:
    2
    чтобы подключиться используя windows аутентификацию не указывай логин и пароль, если они пустые то применяется windows аутентификация