Как я могу сделать MS SQL Server доступным для соединений?

Я пытаюсь подключиться к MS SQL Server (работает на моей машине) из программы Java. Я получаю следующее длинное исключение:

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".

Когда я проверяю "Свойства" и нажимаю "Просмотр свойств подключения" в Проводнике объектов MS SQL, я обнаружил, что "Сервер недоступен". Возможно, это связано с сообщением об исключении.

Как я могу сделать сервер доступным?

Edit:

Я использую SQL Server 2008, и теперь я включил TCP/IP и перезапустил свой экземпляр. Мне все еще говорят, что "Сервер недоступен".

Любые другие идеи?

Ответ 1

Я столкнулся с этой проблемой. Статья MSKB применяется к SQL Server 2005.

Поскольку инструмент "Конфигурация области поверхности SQL Server" был сброшен вместо "Граней" - это не было очевидно для меня.

Я решил это, установив порт TCPAll и включив соответствующий IP-адрес.


Действия

  • Откройте диспетчер конфигурации сервера Sql (Пуск → Программы → Microsoft SQL Server 2008 → Инструменты настройки)

  • Разверните конфигурацию сети SQL Server → [Экземпляр сервера]

  • Дважды щелкните значок TCP/IP

    • В разделе Протокол:

      Убедитесь, что включено: Да

    • В IP-адресах:

      Прокрутите вниз и установите TCP-порт под IPAll (по умолчанию 1433)

      Найдите IP-адрес, к которому вы хотите подключиться, и установите Enabled и Active в Yes

Ответ 2

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

Это можно сделать либо с помощью диспетчера конфигурации SQL Server (расположенного в папке инструментов конфигурации), либо в стандартной консоли служб на панели управления Windows.

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

Ниже приведено объяснение, как это сделать:

http://support.microsoft.com/kb/914277

Ответ 3

Я использую SQL Server 2012 и имею те же проблемы.

Обратите внимание, что при активации TCP/IP существует 2 варианта:

  • Active - YES - Если вы просто нажмете "да", это не будет работать
  • Enabled - нажмите и да. Я не обращал на это внимания и задавался вопросом, почему он не работает, тратя много времени на процесс

Вы можете проверить прослушивающие порты следующим образом:

netstat -an

Ответ 4

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

Вам нужно включить соединения TCP/IP с сервером. Если вы можете сообщить нам, какую версию SQL-сервера вы используете, мы можем дать более точные инструкции по включению TCP/IP.

Ответ 5

Как обычно, проверьте очевидное: 1. Проверьте, включены ли в маршрутизаторе порты 1433 и 1434 (это значения по умолчанию для связи по протоколу IP/UDP) 2. Убедитесь, что если у вас есть брандмауэр на месте либо на клиенте, либо на сервере, указанные порты не блокируются (это тот, который был моим "gotcha" ). 3. Перейдите в Sql Configuration Manager и в разделе Sql Server Network Configuration убедитесь, что TCP/IP включен. Кроме того, в той же программе под Sql Native Client 1.0 (если она установлена), что она также имеет TCP/IP.

Дешевый и неряшливый способ гарантировать, что вся ваша информация о подключении работает, - это создать файл .udl(в любом месте вашей системы), заполнить соответствующую информацию и нажать "Проверить соединение". Если там что-то не так, вы получите (справедливое) информативное сообщение о проблеме. Если вы не знаете о файлах .udl, щелкните правой кнопкой мыши в проводнике Windows (в правой части окна), чтобы создать "Новый текстовый файл". Введите любое допустимое имя, но измените расширение с .txt на .udl. Вам будет предложено подтвердить изменение с добавлением, ответьте "да". После создания щелкните файл (или дважды щелкните, если вы не используете один клик), чтобы открыть его. Есть 4 вкладки. Первый позволяет вам выбрать поставщика. Для Visual Studio используйте клиент Sql Native, для любой другой программы попробуйте стандартного поставщика Sql-сервера. На второй вкладке вы можете заполнить имя сервера, имя пользователя и пароль сервера sql (если используется) и т.д. Затем проверьте соединение. Еще один пункт, который нужно отметить - если вы используете проверку подлинности Windows, убедитесь, что эти пользователи были добавлены к входам в сервер.

Ответ 6

Откройте диспетчер конфигурации сервера Sql. (Пуск | Программы | Независимо от версии SQL-сервера | Инструменты настройки)

Перейдите к разделу "Службы SQL Server" и перезапустите свой экземпляр. Однако вы можете сделать это в Management Studio, щелкнув правой кнопкой мыши на экземпляре и выбрав перезапуск.

Если ваш перезапуск завершился неудачно, проверьте Computer Management | Просмотр событий | Заявление и поиск событий сервера sql. он будет записывать успешные сообщения и сообщения об ошибках здесь.

Ответ 7

Вот мои скриншоты. Если вы не можете прочитать слова, загрузите изображение или скопируйте и вставьте изображение в Paint.

Внутри Glassfish:

Вкладка "Общие":

enter image description here

Вкладка "Дополнительные свойства"

URL = jdbc: sqlserver://localhost; databaseName = NETEAV

enter image description here

Внутри Microsoft SQL Server Management Studio:

enter image description here

Ответ 8

Прежде всего, убедитесь, что запущена служба sql-сервера. Если вы используете SQL 2005 или 2008, проверьте Configuration Manager (2008) или Surface - средство настройки (2005), чтобы убедиться, что протокол TCP/IP включен и разрешены соединения TCP/IP. С помощью SSE (экспресс) они по умолчанию отключены, что вызовет вашу проблему. Также на всякий случай, когда вы запускаете несколько экземпляров, может потребоваться запуск службы браузера SQL. Если это так, вы должны иметь возможность подключать объектный проводник, используя (local) в качестве адреса сервера, так как это будет использовать локальное/разделяемое подключение к памяти.

Ответ 9

Проверьте, что соединение заблокировано брандмауэром или нет. Если сторонний брандмауэр активен, он может заблокировать TCP-соединение. После этого шага 1. Убедитесь, что TCP включен или нет.  а. Откройте Диспетчер конфигурации SQL Server
б. Конфигурация сети SQL Server
с. Протоколы для MSSQLSERVER
д. TCP - включить его
е. Также проверьте все прослушивание - Да е. На вкладке IP-адреса IPAll - номер порта должен быть 1433

Ответ 10

С 2005 года и до сих пор работает служба службы сервера SQL.
Это меня обманывало много раз.

Ответ 11

Такая же ошибка наблюдается при подключении к SQL Server 2014.

Я зашел на сервер sql, чтобы убедиться, что установлен правильный номер порта.
Для моего случая номер порта не был установлен для экземпляра sql.

Следовательно, я удалил номер порта из url строки подключения, затем я смог подключиться.

Любой, кто сталкивается с этой проблемой, может попробовать этот способ