Это немного далеко, так как у меня не установлен Sql Server 2008, только версия 2014 года. И, возможно, вы уже пробовали это, но я потратил часы на эту проблему, прежде чем нашел шаг, который мне не хватало.
Предполагая, что такая утилита, как MS PortQry, показывает, что брандмауэр локальной сети сервера открыт и что ваша версия 2008 года поставляется с установленной копией Sql Server Management Studio:
Запустите SSMS на сервере,
Щелкните правой кнопкой мыши свойства сервера Sql.
Во всплывающем окне «Свойства» перейдите на вкладку «Подключения».
Установите флажок «Разрешить удаленные подключения к этому серверу».
В некоторых выпусках Sql Server «Разрешить удаленные подключения ...» по умолчанию не установлен флажок, что, похоже, соответствует комментарию marc_s.
Обновление: что касается вашего добавления «Это говорит мне, что он не использует идентификатор пользователя, указанный в строке подключения.»:
Если вы откроете DFM как текст и вручную отредактируете строку подключения, чтобы «Идентификатор пользователя» имел полностью фиктивное значение, а затем вернетесь к построителю строки подключения, вы должны найти две вещи:
Enter information to log on to server
возвращается к Use a specific user name and password
, поэтому, если вы затем нажмете Test connection
, неудивительно, что тест провалится.
Если затем выбрать Use Windows NT Integrated security
и снова щелкнуть Test connection
, тест пройдет успешно.
Из 2. видно, что «Идентификатор пользователя» в строке подключения игнорируется при использовании проверки подлинности Windows. Это не кажется мне удивительным, поскольку смысл использования аутентификации Windows заключается в том, что используемые учетные данные принадлежат вошедшему в систему пользователю Windows. Вы уже установили, что если вы войдете на другом компьютере в качестве администратора (я полагаю, вы имеете в виду учетную запись администратора Windows), соединение будет установлено успешно, поэтому я подумал, что учетную запись без прав администратора необходимо добавить в учетную запись. Признанные пользователи Sql Server, если вы хотите подключиться с использованием этого идентификатора (хотя, признаюсь, мне совсем не ясно, действительно ли вы пытаетесь подключиться, используя проверку подлинности Windows для определенной учетной записи Sql Server).
Если вы все еще застряли, попробуйте использовать, например. Microsoft OLE DB Driver for SQL Server
вместо SQL Server Native Client
. Вы также можете просмотреть эту статью пошагово:
https://social.msdn.microsoft.com/Forums/en-US/523c7b7e-6216-4790-87cb-945f3c1f4c5e/can-not-connect-to-microsoft-sql-server-express-2012?forum=sqlexpress
Кроме того, гугл
sql server express 2008 remote "secpol.msc"
и обратите внимание на такие статьи, как эта
https://social.msdn.microsoft.com/forums/sqlserver/en-US/1f5221bf-f5c3-4307-836b-a4f9dc07f02f/very-strange-remote-connection-issues
person
MartynA
schedule
11.12.2015