Невозможно подключиться к экземпляру SQL Server удаленно - PullRequest
29 голосов
/ 08 августа 2011

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

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

Я думаю, это потому, что мне нужно настроить механизм базы данных для разрешения удаленных подключений (исправьте меня, если я ошибаюсь)!). Итак, я нашел это пошаговое руководство, которое поможет мне сделать это: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ Мне нужно указать 10 в руководстве, и я застрял! У меня нет SQL ServerManagement 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, и мне удалось войти с помощью этого!Еще раз спасибо!

Ответы [ 7 ]

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

    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»Диспетчер "
    3. Разверните" Конфигурация сети SQL Server "и выберите Протоколы.
    4. Включить TCP / IP.Если вам нужны именованные каналы, то вы можете включить их и здесь.
  • И, наконец, брандмауэр Windows должен разрешать подключения к SQL Server

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

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

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

8 голосов
/ 18 октября 2016

В дополнение к настройке службы браузера SQL Server в Services.msc на автоматический и запуску службы мне пришлось включить TCP / IP в: Диспетчер конфигурации SQL Server |Конфигурация сети SQL Server |Протоколы для [ИМЯ ИНСТАНЦИИ] |TCP / IP

enter image description here

5 голосов
/ 08 августа 2011
  1. Запустите диспетчер конфигурации SQL Server на VPS.

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

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

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

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

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

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

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

  2. Если вы хотите получить к нему удаленный доступ (через Интернет), вам нужно выполнить еще одну работу - «Переадресация портов». Вы открыли порты, которые TCP и UDP использует в SQL Server на вашем маршрутизаторе. Сейчас конфигурация роутеров другая. Если вы предоставите мне информацию о вашем маршрутизаторе (например, название компании и версию), я покажу вам шаги, как переадресовать определенный порт.

0 голосов
/ 07 ноября 2018

Открыть диспетчер конфигурации сервера mysql. Щелкните службы сервера SQL, справа выберите сервер, который вы создали во время установки (по умолчанию его состояние остановлено), нажмите один раз на него, и на панели инструментов должна появиться кнопка воспроизведения, затем нажмите эту кнопку воспроизведения, подождите пока его состояние не превратится в " работает ". Теперь тебе хорошо. Вернитесь в студию управления сервером sql; переключите " тип сервера " на " ядро ​​базы данных " и " аутентификация " на " аутентификация сервера sql ", по умолчанию используется логин « sa », и пароль - это ваш пароль, который вы выбрали при создании сервера. Теперь твоя работа хороша.

0 голосов
/ 03 июля 2016

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

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

0 голосов
/ 28 января 2014

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

...