Устранение неполадок с подключением к SQL Server - PullRequest
1 голос
/ 20 декабря 2009

Я относительно неопытен в SQL Server, но пытаюсь устранить некоторые проблемы (не связанные с SQL Server), связанные с логикой и пользовательским интерфейсом в приложении Delphi, написанном кем-то другим, использующим его. В настоящее время пытаюсь заставить работать среду разработки.

Вот среда:

Машина разработчика: Виртуальная машина (VMWare) под управлением Windows XP с использованием мостовой сети. Можно подключиться к папкам / файлам на сервере машины нормально. У меня установлена ​​старая версия SQL Server 2005 Express на этом компьютере. Я могу подключиться к нему нормально с этой же машины, используя SQL Server Management Studio Express, а также через мои компоненты Delphi (ADO, может читать / записывать данные таблицы в сетку и т. Д.).

«Сервер» (он же S1): На самом деле это просто рабочая станция Windows XP. Я поставил на него костяную версию SQL Server 2008. После установки я включил протоколы для SQLEXPRESS -> Именные каналы и TCP / IP, используя Configuration Manager, и перезапустил службу SQL Server. SQL Server настроен на использование авторизации Windows NT. Это машина и экземпляр SQL Server, к которому мне нужно подключиться с компьютера Dev.

Я могу подключиться к экземпляру S1 SQL Server с того же компьютера, используя Management Studio, но не могу подключиться к нему из окна Dev, используя либо Management Studio 2005 (что я даже не уверен, что должно быть возможно, учитывая разные версии) или компоновщик строк компонентов Delphi (TADOConnection с использованием поставщика OLDEDB для SQL Server). Когда я пытаюсь использовать последний вариант, экземпляр S1 SQL Server не отображается в раскрывающемся списке, и если я вручную ввожу S1 \ SQLEXPRESS, используя либо встроенную защиту Windows NT, либо указанное имя пользователя и пароль, я получаю следующую ошибку :

---------------------------
Microsoft Data Link Error
---------------------------
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
---------------------------
OK   
---------------------------

Это одноранговая сеть; нет контроллера домена и т. д. Имя пользователя и пароли на обеих машинах идентичны.

Как мне решить эту проблему?

=============================================== =
Используя указатель Andomar и ссылку, которую я прокомментировал ниже (которая объясняет, что инструмент конфигурирования Surface Area исчез в SQL Server 2008), я получил это в настройках SQL Server Management Studio на компьютере S1 и установил его следующим образом, но все же нет возможности нелокального подключения. Чего мне не хватает?

Настройки SAC http://img192.imageshack.us/img192/8784/sacsettings.jpg

Настройки SAC close http://img38.imageshack.us/img38/457/sacsettings2.jpg

Ответы [ 2 ]

2 голосов
/ 20 декабря 2009

Вам необходимо убедиться, что сам Сервер прослушивает удаленное соединение. Это можно сделать с помощью инструмента Область конфигурации поверхности SQL Server. У меня установлен только 2005 год, но из скриншотов, которые вы разместили, вы работаете не в той области. Вам необходимо включить удаленные соединения для компонента Database Engine. Размещенные вами свойства не связаны с этим параметром. Вы получите возможность добавить его только для TCP / IP или TCP / IP и именованных каналов.

Кроме того, необходимо убедиться, что служба Браузер SQL работает и необходимые порты открыты. По умолчанию SQL-сервер подключается к произвольному порту. Служба браузера SQL Server запускается на фиксированном порту (1434) и предоставляет клиентам информацию о том, на каком порту работает сервер, на котором вы ищете.

Это необходимо, поскольку вы можете запускать несколько экземпляров SQL Server на одном компьютере.

Вы можете настроить сервер SQL на прослушивание определенного порта, а затем включить номер порта в строку подключения, минуя браузер SQL Server, но это требует дополнительной работы.

1 голос
/ 20 декабря 2009

По умолчанию SQL Server Express прослушивает только на локальном хосте.

Вы можете изменить этот параметр, используя инструмент Область конфигурации поверхности SQL Server. На начальном экране выберите «Настройка поверхности» ... В экземпляре SQLEXPRESS откройте «Удаленные подключения». Убедитесь, что установлен флажок «Локальные и удаленные подключения».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...