База знаний (Wiki)

Ошибка:

Не удается настроить или установить подключение к серверу.

Варианты проблемы:

1) Невозможно установить сетевое соединение с сервером. 1.1) Сервер выключен. 1.2) Сервер не подключен к сети. 1.3) Брандмауэр запрещает подключение к серверу. 1.4) Не удается получить доступ к серверу по имени.

2) Не настроена служба Microsoft SQL Server 2.1) Запрещены удаленные подключения к SQL-серверу. 2.2) На SQL-сервере не запущена служба SQL Server Browser. 2.3) На SQL-сервере не настроена авторизация.

3) Неверно указаны настройки подключения в клиентском приложении 3.1) Неправильно указано имя SQL-сервера. 3.2) Неправильно указаны параметры авторизации. 3.3) Неправильно указано имя базы данных.

Диагностика и решение проблемы:

Наиболее часто возникающие ситуации – брандмауэр блокирует подключение к серверу (1.3) и пользователь установил SQL-сервера без конфигурирования.
Автоматическая инсталляция SQL-сервера в преинстале выполняет все необходимые настройки. Если пользовать устанавливал сервер вручную с настройками “по-умолчанию” – возникают проблемы описанные в пунктах 2.1 и 2.2.

1.1. Сервер выключен

Убедитесь, что сервер включен. Убедитесь, что включен именно тот сервер, соединение с которым вы пытаетесь установить.

1.2. Сервер не подключен к сети

Убедитесь, что сервер подключен к локальной сети. Проверьте, удается ли установить с сервером какое-либо сетевое соединение. Для этого его можно попытаться найти в сетевом окружении или, к примеру, использовать команду ping. Обратите внимание - если включенный сервер не отвечает на команду ping, возможно это вызвано установленным брандмауэром, что требует выполнить работу по его настройке.

1.3. Брандмауэр запрещает подключение к серверу

Брандмауэр (firewall, файрвол) – особая категория программ, отвечающих за защиту сетевых подключений. Брандмауэр по умолчанию входит в последние версии Windows:

  • Windows XP (SP2, SP3).
  • Windows Vista.
  • Windows 7.
  • Windows 2008 (R2) (по умолчанию может блокировать все, вплоть до ответа команды ping).

Так же на компьютере может быть установлен сторонний брандмауэр - Outpost, Касперский, НОД и множество других. Настройку стороннего брандмауэра должен провести человек установивший его на сервер. Как именно настроить брандмауэр, решает исключительно администратор сервера.

Следует понимать, что настройка стандартного брандмауэра различается в зависимости от версии Windows, поэтому данное руководство содержит лишь минимальный набор действий, который нужно предпринять для разрешения подключений к SQL-серверу. В приложении 1 доступно руководство: Настройка брандмауэра для Windows 2008 (R2).

1.4. Не удается получить доступ к серверу по имени

Проблема возникает в случае сложной топологии сети. Диагностика ситуации является так же и решением проблемы. Необходимо при настройке подключения указать ip-адрес компьютера вместо его имени. Если использование ip-адреса помогло – необходимо попытаться устранить ошибки в структуре сети с помощью технической консультации.

2.1. Запрещены удаленные подключения к SQL-серверу

По-умолчанию, в sql-сервере разрешены только локальные подключения. Т.е. программа установленная непосредственно на сервере может выполнять подключение, а программа с другого компьютера – нет. Для диагностики проблемы можно попытаться установить локальное подключение или же сразу проверить настройки sql-сервера. Конфигурирование удаленных подключений смотрите в приложении 1 - Настройка удаленных подключений к SQl-серверу.

2.2. На SQL-сервере не запущена служба SQL Server Browser

Служба SQL Server Browser помогает установить удаленное соединение с SQL-сервером. Существуют ситуации, когда ее наличие не влияет на подключение, но в то же время, в целом ряде случаев установить подключение без нее невозможно. Поэтому, оптимальным вариантом для решения проблемы является просто включить данную службу. Порядок включения службы смотрите в приложении 1 - Включение службы SQL Server Browser.

2.3. На SQL-сервере не настроена авторизация

В первую очередь обратите внимание – логин и пароль для входа в программу и логин-пароль для подключения к серверу это совершенно разные вещи. Для входа в программу пользователь вводит логин и пароль каждый раз. Логин и пароль для подключения к серверу задаются один раз при создании подключения.


В процесс инсталляции SQL-сервера выполняется настройка авторизации.


SQL-сервер поддерживает два вида авторизации:

  • Windows-авторизация - подключение по имени пользователя Windows.
  • Стандартная авторизация – по логину и паролю.

При инсталляции SQL-сервера, на одной из стадий необходимо указать используемые параметры авторизации. Если в этот момент выбрать только Windows-авторизацию, скорее всего, к вашему SQL-серверу не смогут подключиться с других компьютеров и даже другие пользователи данного компьютера. Если же вы выбрали так называемый “смешанный” режим – в этом случае вы указывали пароль для служебного логина “sa”. Используйте их при создании подключения.


Если же вы не задали пароль или забыли его, существует два варианта:

  • Переустановить SQL-сервер (при переустановке существующие базы будут отключены).
  • Воспользуйтесь инструментарием SQL Server Management Studio из состава SQL-сервера.

В зависимости от версии сервера SQL Server Management Studio может быть уже установлена или вам может потребоваться скачать ее из интернета. Процесс настройки авторизации и учетных записей смотрите в приложении 1 - Настройка авторизации в SQL-сервере.


3.1. Неправильно указано имя SQL-сервера

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


Данное имя отображается в процессе установки сервера и может состоять как из одной, так и из двух частей - имени компьютера в сети, на котором развернут SQL-сервер, а так же, если существует, имени экземпляра SQL-сервера, к которому будет осуществляться подключение. В качестве разделителя имени компьютера и имени сервера используется символ «\». Если SQL-сервер неименованный, указывается только имя компьютера.


Для Microsoft SQL Server редакции Express по умолчанию, экземпляр сервера имеет имя SQLEXPRESS. Так, к примеру, для компьютера с именем SERVER и установленной express-редакцией сервера, имя будет “SERVER \ SQLEXPRESS”.


Так же имя SQL-сервера можно посмотреть на сервере, в списке служб:


Панель управления -> Администрирование -> Службы.


3.2. Неправильно указаны параметры авторизации

После того как вы указали имя SQL-сервера, укажите параметры подключения к нему. Обратите внимание – логин и пароль для входа в программу и логин-пароль для подключения к серверу это совершенно разные вещи.
Как правило, для подключения используется стандартный логин “sa” и пароль заданный при установке сервера. Если SQL-сервер устанавливался автоматически – попробуйте пароль “123”.
Если на данном этапе возникли проблемы – смотрите приложение 1 - Настройка авторизации в SQL-сервере.

3.3. Неправильно указано имя базы данных

Если вы правильно указали имя сервера и параметры авторизации, имя базы данных будет доступно в выпадающем списке, где его можно выбрать. Если соединение с сервером установить не удается – в выпадающем списке будет только один пункт "нет подключения".


Приложение 1 – Настройка SQL-Сервера


Настройка удаленных подключений к SQL-серверу


Приведенные настройки для английской редакции MSSQL 2005. Названия меню и кнопок могут незначительно отличаться, однако общий смысл не меняется.


Выбрать: Пуск -> Программы -> Microsoft SQL Server 2005 -> Configuration Tools -> SQL Server Configuration Manager.


В открывшемся окне, в дереве слева необходимо развернуть узел “SQL Server 2005 Network Configuration” и выбрать протоколы для вашего экземпляра SQL-сервера.
В перечне справа вызовите контекстное меню на элементах “Named Pipes”и “TCP/IP” , где выберите пункт “Enable”.


Внимание! После этих действий подключиться по-прежнему не удастся. Необходимо перезапустить службу SQL сервера (через "Службы" в составе администрирования Windows) или, что проще, перезагрузить компьютер.

Включение службы SQL Server Browser

Включение службы SQL Server Browser можно выполнить двумя способами:
  • Из списка служб, входящего в средства администрирования Windows.
  • С помощью приложения конфигурирования - SQL Server Configuration Manager.
Здесь будет описан второй вариант, схожий с настройкой удаленных подключений.
Откройте приложение по адресу Пуск -> Программы -> Microsoft SQL Server 2005 -> Configuration Tools -> SQL Server Configuration Manager.


В открывшемся окне, в дереве слева выберите узел “SQL Server Services”. Справа будет представлен список служб, связанных с SQL-сервером. Если служба SQL Server Browser не отмечена зеленым значком – ее необходимо запустить. Для этого вызовите контекстное меню и выберите пункт “Properties”. В открывшемся окне важны две первые вкладки.


Необходимо на 2й вкладке для свойства “Start Mode” выбрать значение “Automatic” и нажать кнопку “Применить”. После этого, на первой вкладке станет активна кнопка “Start”. Ее так же необходимо нажать. Значок службы SQL Server Browser должен стать зеленым.

Настройка авторизации в SQL-сервере

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


В первую очередь необходимо убедитесь что на сервере разрешена авторизация по логину и паролю. Для этого в дереве объектов слева вызовите контекстное меню на верхнем элементе – сервере и выберите нижний пункт "Properties".


В открывшемся окне перейдите на вкладку “Security” и убедитесь, что выбран пункт “SQL Server and Windows Authentication mode”. Если у вас данный режим был выключен, после включения, для его использования вам потребуется перезапустить SQL-сервер, что можно сделать опять же из контекстного меню в дереве объектов, либо перезагрузить компьютер.


Следующим шагом вам необходимо настроить учетную запись для подключения. Стандартный способ – использование служебной учетной записи "sa". Второй способ – создание новой учетной записи. Рассмотрим оба способа, начнем с включения "sa".


Включение учетной записи "sa"

В дереве объектов слева разверните список “Logins” из раздела “Security” и вызовите контекстное меню для логина “sa”.


Выберите в меню пункт "Properties", открывшееся окно содержит несколько вкладок. На первой из них - "General" - Вам необходимо ввести и подтвердить пароль, снять флажок “User must change password at next login". Так же можно снять флажок "Enforce password policy" для смягчения требований к паролю.


На последней вкладке "Status" необходимо убедиться, что учетная запись включена – выбраны значения "Grant" и "Enabled".


Создание новой учетной записи пользователя

Для создания ограниченной учетной записи пользователя необходимо подключиться к серверу с помощью Microsoft SQL Server Management Studio под привилегированным пользователем (логин как правило “sa”, или воспользуйтесь windows-авторизацией). В разделе “Security\Logins” вызовите контекстное меню и выберите пункт “New Login”.


В открывшемся окне, в первом разделе “General” необходимо:
  1. Указать имя пользователя (в примере “client”).
  2. Указать тип авторизации “SQL Server authentication”.
  3. Ввести и подтвердить пароль.
  4. Снять флажок “User must change password at next login“.

На вкладке "User Mapping" необходимо отметить флажком базу данных, к которой пользователь должен иметь доступ (в примере это "oms_db_hlt"). В нижней части окна установить флажки для значений "public" и "db_owner".

На последней вкладке "Status" необходимо убедиться, что учетная запись включена – выбраны значения "Grant" и "Enabled".

После нажатия кнопки "ОК" пользователь будет создан. Для проверки работоспособности созданной учетной записи необходимо выполнить переподключение к серверу.

Приложение 2 – Настройка брандмауэра 

Настройка брандмауэра для Windows 2008 R2 

Для разрешения удаленных подключений к SQL серверу необходимо в правилах брандмауэра открыть доступ к двум службам: непосредственно службе сервера и службе SQL Server Browser. В обоих случаях необходимо выполнить абсолютно аналогичные действия. Отличие существует лишь на этапе, когда указывается непосредственно сама служба. Поэтому пошагово процесс описан лишь один раз, но его обязательно нужно выполнить дважды.
Вызовите настройку правил брандмауэра: Пуск -> Администрирование -> Брандмауэр Windows.

В открывшемся окне перейдите на "Правила входящих подключений" и нажмите справа на пункт "Новое правило". Будет запущен мастер создания правил.
Выберите "Настраиваемое правило" и нажмите "Далее".

Выберите пункт "Все программы" и нажмите кнопку "Настроить" рядом с пунктом "Службы".


В открывшемся диалоге выберите службу SQL-сервера. В примере она называется SQL Server (SQLEXPRESS). Внимание! При создании второго правила брандмауэра на этом этапе вам необходимо будет  выбрать вторую службу - SQL Server Browser. Нажмите "ОК" и "Далее".


На всех дальнейших шагах мастера не требуется ничего менять и достаточно просто  жать "Далее". На последнем шаге потребуется ввести имя правила – оно может быть любым.




Не забудьте повторить те же действия для службы SQL Server Browser.

0