Не удается подключиться к экземпляру SQL Server удаленно

Я пытаюсь получить доступ к экземпляру SQL Server на моем VPS из SQL Server Management Studio на моей локальной машине. Это не работает (ошибка, которую я получаю:

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

Я думаю, что это потому что мне нужно настроить компонент database engine для разрешения удаленных подключений (исправьте меня, если я ошибаюсь!). Поэтому я нашел это пошаговое руководство, чтобы помочь мне сделать это: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ я должен указать 10 в руководстве, и теперь я застрял! У меня нет SQL Server Management Studio, установленной на моем VPS. Во всяком случае, у меня осталось два варианта:

  1. установить SSMS
  2. найти другую способ сделать пункт 10 вперед в руководстве без установки SSMS

Я попытался установить SSMS на моем VPS с помощью установщика веб-платформы, но он продолжает терпеть неудачу. Я не знаю, почему он терпит неудачу, потому что он, похоже, не дает причины. Кто-нибудь знает, как я могу разрешить удаленные соединения по-другому?

версия SQL Server, установленная на моем VPS, - SQL Server 2008 R2 Express.

обновление:

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

Другие Новости:

теперь, когда я смог установить SSMS (я установил непосредственно с веб-сайта, а не с помощью WPI), я смог проверить, что сервер настроен на разрешение удаленных подключений (я пошел в SSMS, подключенный к экземпляру SQL Server, щелкнул правой кнопкой мыши по соединению, щелкнул Свойства, перейдите на вкладку соединения. "Разрешить удаленные подключения к этому серверу" уже отмечен).

решение

спасибо всем, кто помог мне добраться до этого решения! Мне наконец - то удалось заставить его работать! Я последовал совету Филипа де Воса и открыл порты в Брандмауэре на моем VPS, а затем я получил другое сообщение об ошибке. Это привело меня к дальнейшему расследованию, и я обнаружил, что использую неправильные учетные данные для входа в систему! Поэтому я установил пароль для пользователя SA, и мне удалось войти в систему с этим! Еще раз спасибо!

6 ответов


  • чтобы включить смешанную аутентификацию, вы можете изменить следующий раздел реестра:

    HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode
    

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

  • причиной ошибок подключения может быть установленный на сервере антивирусный сканер, который блокирует sqlserver.exe.

  • другой причиной может быть то, что Служба браузера SQL Server не запущена. Если эта служба не запущена, невозможно подключиться к именованным экземплярам (если они используют динамические порты).

  • также возможно, что Sql Server не настроен для прослушивания TCP-соединений и разрешает только именованные каналы.

    1. в меню Пуск откройте программы > Microsoft SQL Server 2008 > Средства настройки > поверхность SQL Server Конфигурация Области
    2. в утилите настройки поверхностной области щелкните ссылку " SQL Server Configuration Manager"
    3. разверните "конфигурация сети SQL Server" и выберите протоколы.
    4. включить TCP/IP. Если вам нужны именованные каналы, то вы можете включите их и здесь.
  • и последнее, но не менее важное: Брандмауэр Windows должен разрешать подключения к SQL Server

    1. добавить исключение для от SQLServer.exe при использовании системы "динамический порт".
    2. В противном случае вы можете поместить исключения для портов SQL Server (порт по умолчанию 1433)
    3. также добавьте исключение для браузера SQL Server. (udp порт 1434)

дополнительная информация:

в качестве последней ноты,SqlLocalDB поддерживает именованные каналы, так что вы не можете подключиться к нему по сети.


в дополнение к настройке службы браузера SQL Server в службах.msc для автоматического и запуска службы мне пришлось включить TCP | IP в: SQL Server Configuration Manager | SQL Server Network Configuration | Protocols for [имя экземпляра]/TCP / IP

enter image description here


  1. запустите Диспетчер конфигурации SQL Server на VPS.

  2. взгляните на сетевую конфигурацию SQL Server. Убедитесь, что TCP/IP включено.

  3. Далее рассмотрим службы SQL Server. Убедитесь, что браузер SQL Server запущен.

  4. перезапустите службу для экземпляра SQL Server.


  1. Откройте Диспетчер конфигурации SQL Server.... 2.Проверьте, работают ли TCP и UDP wheather или нет.... 3.Если они не запущены , включите их, а также проверьте, запущен ли браузер SQL Server.Если не работает включите его.....

  2. Далее вы должны проверить, какие порты TCP и UDP использует. Вы должны открыть эти порты из брандмауэра windows.....

5.Нажмите здесь, чтобы увидеть шаги для открытия определенного порта в Брандмауэр windows....

  1. теперь SQL Server готов к доступу по локальной сети.......

  2. Если вы хотите получить доступ к нему удаленно (через интернет), вам нужно выполнить другую работу, которая является "переадресацией портов". Вы открыли порты TCP и UDP, используемые в SQL Server на вашем маршрутизаторе. Теперь конфигурация маршрутизаторов другая. Если вы дадите мне информацию о вашем маршрутизаторе (i. e название компании и версия), я могу показать вам шаги, как переслать определенный порт.


недавно я обновился с SQL 2008 R2 до SQL 2012 и имел аналогичную проблему. Проблема заключалась в брандмауэре, но более конкретно в правиле брандмауэра для SQL SERVER. Пользовательское правило было указано на предыдущую версию SQL Server. Попробуйте, откройте Брандмауэр Windows>Дополнительные параметры. Найдите правило SQL Server (оно может иметь пользовательское имя). Щелкните правой кнопкой мыши и перейдите на вкладку Свойства, Затем программы и Службы. Если программы-эта программа выбрана, вы должны найти правильную версию от SQLServer.исполняемый.


У меня была та же проблема, когда мой брандмауэр был настроен правильно, TCP/IP был включен в Диспетчере конфигурации SQL Server, но я все еще не мог получить доступ к моей базе данных SQL извне компьютера, на котором он размещен. Я обнаружил, что решение SQL Server Browser было отключено по умолчанию в службах (и не было возможности включить его в диспетчере конфигурации SQL Server).

Я включил его с помощью Панели управления > Администрирование > Службы, затем дважды щелкните браузер SQL Server. В на вкладке Общие задайте Тип запуска Автоматически с помощью раскрывающегося списка. Затем вернитесь в Диспетчер конфигурации SQL Server и убедитесь, что браузер SQL Server включен. Надеюсь, это поможет. enter image description here